Проблема с Qt Link с MyClass::metaobject VS2005C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Проблема с Qt Link с MyClass::metaobject VS2005

Сообщение Anonymous »

Перед тем как начать, я долго искал SO и Google, пытаясь решить эту проблему, но безуспешно.

Я пытаюсь скомпилировать свой проект, который раньше использовал определенную библиотеку для обеспечения функциональности графического интерфейса на основе Windows Forms. Теперь моя компания начала переходить на Qt, и я решил, что начну конвертировать и свое небольшое приложение для поддержки Qt.

Сначала оно вообще не компилировалось, из-за отсутствия заголовков. Теперь, когда все отсортировано, мой окончательный .exe-файл застрял, и я не могу связать его из-за следующих ошибок.

Код: Выделить всё

Creating library Bin\VS_V8\Win32\Debug\Disp.lib and object Bin\VS_V8\Win32\Debug\Disp.exp
QtMainMenu.obj : error LNK2001: unresolved external symbol "public: virtual struct QMetaObject const * __thiscall QtMainMenu::metaObject(void)const " (?metaObject@QtMainMenu@@UBEPBUQMetaObject@@XZ)
QtMainMenu.obj : error LNK2001: unresolved external symbol "public: virtual void * __thiscall QtMainMenu::qt_metacast(char const *)" (?qt_metacast@QtMainMenu@@UAEPAXPBD@Z)
QtMainMenu.obj : error LNK2001: unresolved external symbol "public: virtual int __thiscall QtMainMenu::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@QtMainMenu@@UAEHW4Call@QMetaObject@@HPAPAX@Z)
Bin\VS_V8\Win32\Debug\Disp.exe : fatal error LNK1120: 3 unresolved externals
У нашей компании есть небольшое «Тестовое приложение Qt», написанное для экспериментов, и именно оттуда я взял импорт. Я могу это прекрасно скомпилировать и связать. Насколько я понял, файлы Qt должны соответствовать следующим свойствам:
  • Убедитесь, что QTDir включен
  • Добавьте в файлы пользовательского интерфейса компилятор UIC.
  • Добавьте в файлы ресурсов компилятор ресурсов.
  • Добавьте в созданные файлы заголовков MOC. компилятор.
Я заметил, что мне не хватает команд MOC Build Tool, поэтому я добавил их в заголовок моего файла пользовательского интерфейса. Однако это не изменило проблему связывания. Я читал, что мне следует удалить все построенные файлы и выполнить очистку, чтобы решить эту проблему. Это тоже не сработало.

Я проверил, Q_OBJECT определен в классе.

Я использую VS2005 с надстройкой Qt. Однако я не начинал новый проект для Qt, я просто использую старое решение Visual Studio / VCProj.

Есть идеи, куда двигаться дальше?

Подробнее здесь: https://stackoverflow.com/questions/185 ... ect-vs2005
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»