У меня проблемы с компиляцией Qt3D на Windows. Модуль правильно компилируется и связывается на моем Linux-компьютере с Qt 4.8.1. Хотя в Windows (Qt 5.2 personal build) g ++ говорит <Qt3D/qt3dglobal.h>
заголовок не найден.
Я скомпилировал qt3d в Linux, выполнив следующие действия:
И для Windows (Qt 5.2 gcc-4.8.1 персональная сборка):
Что мне не хватает?
Примечание: ActiveState Perl находится в PATH
Я смог воспроизвести эту ошибку — я думаю, это ошибка, которую Qt3D использовал для такой сборки. Но люди Qt, вероятно, привыкли строить Qt3D как часть модульной сборки Qt. Я предполагаю, что некоторая часть шага qmake, предназначенная для установки путей к заголовкам, не работает в Windows.
Я собрал его, скопировав заголовки вручную:
# in git bash
mkdir Qt3D
find qt-qt3d/ -name "*.h" -exec cp \{} Qt3D/. \;
mkdir qt-qt3d/include
mv Qt3D qt-qt3d/include/.
Затем:
# in VS2012 shell
set PATH=%PATH%;%HOMEPATH%\build\qt5\bin
mkdir qt3d_build
cd qt3d_build
qmake ..\qt-qt3d\qt3d.pro
nmake
Здесь Qt и qt-qt3d были в текущем каталоге (в qt5 и qt-qt3d соответственно), а Qt уже был собран из исходного кода.
Других решений пока нет …