2014-02-16 182 views
0

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

我编译qt3d在Linux上使用以下步骤:

  1. 下载分支QT4从here一个压缩包,解压缩。
  2. QMAKE CONFIG + =包
  3. 使-j4
  4. 须藤使安装

和Windows(QT 5.2 GCC-4.8.1个人版本):主的

  1. 下载压缩包从here分支,提取它
  2. 的qmake
  3. 化妆// =>错误:缺少标头

我错过了什么?

注:ActiveState的Perl是在PATH

+0

标题找不到?为什么不明显你没有头文件? :) – paulm

+0

@paulm不是很明显...为什么标题丢失?我认为Perl应该在配置项目时将API级别的头文件从'src'复制到'include/Qt3D'文件夹,但由于某些未知原因,它不能这么做。 –

+0

我当时很讽刺,这个问题完全缺乏细节。你没有事件表示WHICH标题丢失,更不用说从构建日志中发布失败/错误,你传递了哪些参数等。 – paulm

回答

2

我能够重现此错误 - 我猜它作为一个错误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已经从源码开始构建。

+0

中忘记'''s我还需要将QtQuick中的头文件复制到QtQuick3D文件夹中,并更改示例中的一些导向器以包含Qt3D和。 QtQuick3D ... – Bim