我在Windows上编译Qt3D遇到麻烦。该模块可以在我的Linux机器上使用Qt 4.8.1正确编译和链接。尽管在Windows(Qt 5.2个人构建)上,g ++表示未找到<Qt3D/qt3dglobal.h>标头。

我已经按照以下步骤在Linux上编译了qt3d:


here下载分支qt4的压缩包,将其解压缩。
qmake CONFIG + =软件包
使-j4
须藤使安装


对于Windows(Qt 5.2 gcc-4.8.1个人版本):


here下载master分支的tarball,将其解压缩
qmake
make // =>错误:缺少标题


我缺少什么?

注意:ActiveState Perl位于PATH中

最佳答案

我能够重现此错误-我猜它是Qt3D曾经这样构建的错误。但是Qt人员可能习惯于将Qt3D构建为part of the modular Qt build。我的猜测是,用于设置标头路径的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已经从源代码构建。

关于c++ - 使用Qt5的Qt3D编译失败,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21812731/

10-11 19:11