У меня есть динамическая библиотека, которая отлично работает, и я хотел бы использовать QObject в ней. После включения заголовка «qobject.h» я компилирую adn evrything в порядке. Но когда я пытаюсь объявить QObject, компилятор всегда дает мне ошибку «идентификатор не найден». Я попробовал foward eclaration класса QObject, это не помогло. Это странно, потому что intellisense визуальной студии работает, когда я использую Qt в своей dll (например: когда я объявляю QObject, visual sdio показывает мне функции, доступные моему QObject). Есть ли что-то особенное, что я должен сделать, чтобы использовать Qt в динамической библиотеке? Должен ли я скомпилировать его с qmake сейчас, когда я использую QObject?Ссылка на Qt в динамической библиотеке
спасибо за помощь
Dave
EDIT: проблемы только кажется, происходит после того, как я включаю stdafx.h. Если я попытаюсь включить заголовки Qt после Stdafx.h, моя библиотека не скомпилируется, что даст мне синтаксические ошибки. Если я использую ссылку Qt перед включением Stdafx.h, она компилируется и работает нормально, но это бесполезно, потому что я не могу использовать Qt refenrences в моем существующем коде.
1>c:\users\dave\documents\visual studio 2008\projects\frogger\froggerdll\ftclient.cpp(47) : error C2653: 'QWidget' : is not a class or namespace name
1>c:\users\dave\documents\visual studio 2008\projects\frogger\froggerdll\ftclient.cpp(47) : error C3861: 'find': identifier not found
Линия, о которой идет речь, - QWidget :: find (hwnd); , и я включаю QWidget
Хорошо, я могу обойти его, включив их в правильном порядке, но тогда я не могу использовать QObject, поэтому он действительно не решает мою проблему. Я попробую установить интеграцию. Есть ли какие-то конкретные шаги, которые я должен предпринять, или он должен скомпилировать после этого? –
Я думал, что «компилировать и работать отлично» означает именно это - возможно, вы хотите снова изменить свой вопрос, чтобы уточнить, что это не так. Я редактирую свой ответ, чтобы добавить указатель на инструкции для интеграции. –
Я попытался установить интеграцию с приведенными выше инструкциями, я все равно получаю те же ошибки –