【问题标题】:Qt3D compile with Qt5 failedQt3D 用 Qt5 编译失败
【发布时间】:2014-02-16 14:50:24
【问题描述】:

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

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

  1. here下载分支qt4的tarball,解压。
  2. qmake CONFIG+=包
  3. make -j4
  4. sudo make install

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

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

我错过了什么?

注意:ActiveState Perl 在 PATH 中

【问题讨论】:

  • 没有找到标题?为什么没有头文件并不明显? :)
  • @paulm 不是很明显...为什么缺少标题?我认为 Perl 应该在配置项目时将 API 级别的标头从 src 复制到 include/Qt3D 文件夹,但由于某些未知原因它未能这样做。
  • 我在讽刺,这个问题完全缺乏细节。您还没有说缺少哪个标头,更不用说从构建日志中发布失败/错误,您传递了哪些参数等。
  • 啊,这是一个标记错误。我只是忘了把<s 换成'

标签: c++ qt qt3d


【解决方案1】:

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

【讨论】:

  • 我还必须将头文件从 QtQuick 复制到 QtQuick3D 文件夹,并更改示例中的一些目录以包含 Qt3D 和其他文件。 QtQuick3D...
猜你喜欢
  • 2013-02-24
  • 1970-01-01
  • 1970-01-01
  • 2021-10-07
  • 1970-01-01
  • 2021-06-14
  • 2021-01-29
  • 2018-11-06
  • 1970-01-01
相关资源
最近更新 更多