0

我在 Windows 上编译 Qt3D 时遇到问题。该模块可以在我的带有 Qt 4.8.1 的 Linux 机器上正确编译和链接。虽然在 Windows(Qt 5.2 个人版本)上 g++ 说<Qt3D/qt3dglobal.h>找不到标头。

我按照以下步骤在 linux 上编译了 qt3d:

  1. 从这里下载分支 qt4 的压缩包,解压。
  2. qmake CONFIG+=包
  3. 使-j4
  4. 须藤使安装

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

  1. 从这里下载master分支的压缩包,解压
  2. qmake
  3. make // => 错误:缺少标题

我错过了什么?

注意:ActiveState Perl 在 PATH 中

4

1 回答 1

3

我能够重现这个错误——我猜它是一个错误,因为 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 已经从源代码构建。

于 2014-02-17T05:19:24.870 回答