Название: Qt 4.5.0 Commercial + MSVS 2008 Ошибка линковки при наличии сигналов и слотов Отправлено: edain от Март 21, 2009, 17:12 Всем добрый день.
Установил Qt 4.5.0 Commercial для MSVS 2008. Конфигурация по умолчанию. После успешной компиляции установил Qt Visual Studio Integration 1.4.3. После этого создаю Qt console application. Код приложения (пример из Assistant, раздел Signals and Slots): Код
В результате чего возникает ошибка линковки: Код
Первая ошибка, unresolved external, говорит о том, что я вызываю функцию, которая не определена. Но, насколько я знаю, код сигналов определять не нужно, обо всем заботится MOC. Следующие ошибки вообще мне не понятны. Но если попробовать скомпилировать приложение, в котором отсутствуют явно сигналы и слоты, например: Код , то все работает отлично, приложение компилируется, собирается и запускается. Я подозреваю, что дело именно в сигналах и слотах, но в чем именно - мне не понятно. Думал, что MOC не запускается, но ошибался. В Generated Files проекта появляется main.moc Подскажите, в чем может быть дело. Название: Re: Qt 4.5.0 Commercial + MSVS 2008 Ошибка линковки при наличии сигналов и слотов Отправлено: BRE от Март 21, 2009, 17:37 Я подозреваю, что дело именно в сигналах и слотах, но в чем именно - мне не понятно. Думал, что MOC не запускается, но ошибался. В Generated Files проекта появляется main.moc Класс Counter вытащи в counter.h и counter.cpp или в конец main.cpp добавь:#include "main.moc" Предполагаю, что происходит следующее: main.moc компилируется в main.obj и main.cpp компилируется в main.obj Соответственно затирая первый объектник. Название: Re: Qt 4.5.0 Commercial + MSVS 2008 Ошибка линковки при наличии сигналов и слотов Отправлено: edain от Март 22, 2009, 12:00 BRE, спасибо большое, твой совет помог. Все заработало.
|