Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.144.254.138] |
|
Сообщ.
#1
,
|
|
|
поставил QT4, сразу заметил одну проблему: когда создаешь проект через мастер, то он компилится, но при написании VisualAssist не видит QApplication, SIGNAL, SLOT....и многого другого, эт просто кошмар
А когда создар проект с нуля без мастера, то он даже не компилится. Программа елементарная с хелпа: #include<QtGui/QtGui> int main(int argc, char** argv) { QApplication app(argc, argv); QLabel lbl("Hello, World !"); lbl.show(); return app.exec(); } QApplication и QLabel VA не видит вообще. Ошибки при компиляции: Linking... werty.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual __thiscall QApplication::~QApplication(void)" (__imp_??1QApplication@@UAE@XZ) referenced in function _main werty.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual __thiscall QLabel::~QLabel(void)" (__imp_??1QLabel@@UAE@XZ) referenced in function _main werty.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: static int __cdecl QApplication::exec(void)" (__imp_?exec@QApplication@@SAHXZ) referenced in function _main werty.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall QWidget::show(void)" (__imp_?show@QWidget@@QAEXXZ) referenced in function _main werty.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall QString::~QString(void)" (__imp_??1QString@@QAE@XZ) referenced in function _main werty.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall QLabel::QLabel(class QString const &,class QWidget *,class QFlags<enum Qt::WindowType>)" (__imp_??0QLabel@@QAE@ABVQString@@PAVQWidget@@V?$QFlags@W4WindowType@Qt@@@@@Z) referenced in function _main werty.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) private: static struct QString::Data * __cdecl QString::fromAscii_helper(char const *,int)" (__imp_?fromAscii_helper@QString@@CAPAUData@1@PBDH@Z) referenced in function _main werty.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall QApplication::QApplication(int &,char * *,int)" (__imp_??0QApplication@@QAE@AAHPAPADH@Z) referenced in function _main D:\d\c8\Book_test\111\Debug\111.exe : fatal error LNK1120: 8 unresolved externals Что делать? |
Сообщ.
#2
,
|
|
|
Если у тебя VC 6.0
Ты зайди в Project->Settings->Link. Там командная строка с кучей библиотек: gdi32.lib kernel32.lib Затем - сущий гемор -туда надо дописать все библиотеки из qt\lib Затем нужно скопировать все библиотеки из qt\lib в библиотечную папку VC6.0; И нажать OK Но перед этим всю командную строку скопирую в файл txt, так как с каждым новым проектом всю эту байду заново надо прописывать. И это, не забудь создать и импортировать .pro файл в проект. Добавлено Пардон, у тебя VC8 - тогда я думаю тоже самое. В настройках линкера нужно прописать все библиотеки. Этого должно хватить. |
Сообщ.
#3
,
|
|
|
фигасе я думал - поствил и юзай, а тут.....
Цитата MicroHard @ Там командная строка с кучей библиотек: gdi32.dll kernel32.dll ненайду где оно, но где прописывать библиотеки вроде нашел(сравнил с проектом построенном при помощи мастера, там вручную дофига нужно добавлять) Цитата MicroHard @ И это, не забудь создать и импортировать .pro файл в проект. ээээ, что это такое, как создавать? А как насчет VisualAssist'a? В нем-то главная проблема - как сделать чтобы он различал Qtшные классы? |
Сообщ.
#4
,
|
|
|
> gdi32.dll kernel32.dll
Пардон, я опечатался: не длл, а .lib файлы... >ээээ, что это такое, как создавать? найди файл qmake.exe в папке qt Создай батник с командной строкой: cd c:\projectpath\ C:\...\qmake -project projectname.cpp И запусти. После этого в папке с файлом проекта появится файл с расширением .pro В студии надо выбрать опцию: Import .pro file. И будет всё хорошо. Добавлено В батнике projectpath - это папка с твоим проектом. Можешь выбрать другую, только по слухам, путь к папке не должен содержать пробелов. Добавлено >там вручную дофига нужно добавлять Ну так ты один раз пропиши - а потом из txt файла вставляй copy/paste Добавлено Ты где qt с интегратором скачал - не поделишься? Я тут задолбался уже Триал юзать. |
Сообщ.
#5
,
|
|
|
AngelPS не нужно парится насчёт коммандной строки - Linker->General->Additional library directories и Linker->Input->Additional dependencies тебе в помощь, но, учти, что это не единственная проблема, которая тебя настигнет. К примеру VS совсем не в курсе, что некоторые файлы нужно прогонять через moc, что ui нужно прогонять через uic и т.д...
|
Сообщ.
#6
,
|
|
|
archimed7592 мда, вообщем я понял, небуду я его ручками делать - гемора оказывается больше чем нужно.
Вообщем интересует только одно - как подружить VisualAssist c Qt классами, чтобы он их рабирал? Сейчас у меня в меню Qt у меня установленно(в подменю "с/с++ directories"): D:\Qt\include C:\Program Files\Mocrosoft Visual Studio 8\VC\include C:\Program Files\Mocrosoft Visual Studio 8\VC\atlmfc\include C:\Program Files\Mocrosoft Visual Studio 8\VC\PlatformSDK\include C:\Program Files\Mocrosoft Visual Studio 8\SDK\v2.0\include D:\boost что где я еще не так поставил, чтобы различало? |
Сообщ.
#7
,
|
|
|
В настройках VA нужно указать пути к include paths
D:\Qt\include D:\Qt\include\QtCore D:\Qt\include\QtGui D:\Qt\include\QtXml D:\Qt\include\QtSql и т.д. |
Сообщ.
#8
,
|
|
|
всеравно подчеркивает красным
|
Сообщ.
#9
,
|
|
|
Думаю, не помешает нажать на кнопочку с названием что-то типа "rebuild index"/"reindex".
|
Сообщ.
#10
,
|
|
|
archimed7592, спасибо
|