Russian Qt Forum

Qt => Дополнительные компоненты => Тема начата: k06a от Октябрь 14, 2009, 22:32



Название: Проблемы с Qt в подпроекте . . .
Отправлено: k06a от Октябрь 14, 2009, 22:32
Работаю в среде QtCreator 1.2.1, Qt 4.5.3 под Windows XP SP3.

Сделал 3 своих единых духом класса.
Для них написал файлик PRI:
Код:
HEADERS += ./qmyabstractsocket.h \
./qmytcpserver.h \
./qmytcpsocket.h

SOURCES += ./qmyabstractsocket.cpp \
./qmytcpserver.cpp \
./qmytcpsocket.cpp

LIBS += ./ws2_32.lib

Включил его в PRO файл проекта так:
Код:
include(QMySocket.pri)

При компиляции вижу вот что:
Код:
qmyabstractsocket.h:14:26: QtCore/QThread: No such file or directory

Код из файла QMyAbstractSocket:
Код:
#ifndef QMYABSTRACTSOCKET_H
#define QMYABSTRACTSOCKET_H

#include <QtCore/QThread>
#include <winsock2.h>
#include <stdio.h> //

class QMyAbstractSocket: public QThread
{
Q_OBJECT
..........

Так в чём же дело? Почему мой "подпроект" не видит Qt?

Не помогли и следующие строки в PRI файле:
Код:
QT = core
INCLUDEPATH += "c:/qt/2009.04/qt/include/"
DEPENDPATH += "c:/qt/2009.04/qt/include/"


Название: Re: Проблемы с Qt в подпроекте . . .
Отправлено: lit-uriy от Октябрь 15, 2009, 08:16
>>Для них написал файлик PRI:
во-первых, в pri-файле надо использовать $$PWD, для текущего (относительно pri-файла) каталога. "Точка слэш" текущий каталог относительно коневого pro-файла.

во-вторых, в pri-файлах опасно использовать одиночный оператор "=", лучше используй составные операторы ("+=" или "-=")

в-третьих, покажи свой pro-файл.


Название: Re: Проблемы с Qt в подпроекте . . .
Отправлено: k06a от Октябрь 15, 2009, 09:56
Вот весь PRO файл:
Код:
# -------------------------------------------------
# Project created by QtCreator 2009-09-09T19:49:53
# -------------------------------------------------

QT += network
TARGET = Vegechat
TEMPLATE = app
SOURCES += main.cpp \
vegechat.cpp
HEADERS += vegechat.h \
structs.h \
qlistwidgetitem_my.h
FORMS += vegechat.ui \
addFriend.ui \
welcome.ui
RESOURCES += rsrc.qrc

include(QMySocket.pri)

В PRI-файл теперь записал так:
Код:
# -----------------------------------------------------------
# This file is generated by the k06a's right hand.
# -----------------------------------------------------------

QT += core

HEADERS += $$PWD/qmyabstractsocket.h \
$$PWD/qmytcpserver.h \
$$PWD/qmytcpsocket.h

SOURCES += $$PWD/qmyabstractsocket.cpp \
$$PWD/qmytcpserver.cpp \
$$PWD/qmytcpsocket.cpp

LIBS += $$PWD/ws2_32.lib

Результат абсолютно тот же . . .