2014-02-16 193 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