2013-03-08 65 views
6

我想在Qt5上安裝Qt3d。當我安裝QT5時,在安裝文件夾中有一個src文件夾。在這個文件夾中,qt3d庫存在。如何在QT5上安裝QT3d?

如果我理解正確,我必須構建它才能使用各種頭文件。

但我想要最新的來源。 所以爲了下載qt3d的源碼與QT5一起構建,我點擊master上的這個https://qt.gitorious.org/qt/qt3d然後我下載了master.tar.gz,我將它保存在我想要構建qt3d庫的文件夾中。

然後我按照與QT SDK page構建qt3d給出的所有步驟,當我點擊的身材,我收到以下錯誤

16:28:14: Running steps for project qt3d... 
16:28:14: Starting: "C:\Qt\Qt5.0.1\5.0.1\msvc2010\bin\qmake.exe" C:\libraries\qt3d\qt-qt3d_tdk\qt3d.pro -r -spec win32-msvc2010 "CONFIG+=debug"Reading C:/libraries/qt3d/qt-qt3d_tdk/src/src.pro [C:/libraries/qt3d/Debug/src] 
Reading C:/libraries/qt3d/qt-qt3d_tdk/src/threed/threed.pro [C:/libraries/qt3d/Debugsrc/threed] 
'perl.exe' is not recognized as an internal or external command,operable program or batch file. 
Project MESSAGE: C:\Qt\Qt5.0.1\5.0.1\msvc2010\bin\syncqt.bat -module Qt3D-mkspecsdirC:\Qt\Qt5.0.1\5.0.1\msvc2010/mkspecs -outdir C:/libraries/qt3d/Debug /librariesqt3d/qt-qt3d_tdk 
Project ERROR: Failed to run: C:\Qt\Qt5.0.1\5.0.1\msvc2010\bin\syncqt.bat -module Qt3D -mkspecsdir C:\Qt\Qt5.0.1\5.0.1\msvc2010/mkspecs -outdir C:/libraries/qt3d/Debug C:/libraries/qt3d/qt-qt3d_tdk 
16:28:15: The process "C:\Qt\Qt5.0.1\5.0.1\msvc2010\bin\qmake.exe" exited with code 3.Error while building/deploying project qt3d (kit: Desktop Qt 5.0.1 MSVC2010 32bit) 

當執行步驟「QMAKE」

我是什麼困惑的是,爲什麼編譯器說perl.exe不能在src.pro和threed.pro中找不到文件perl.exe。 perl如何進入圖片。

此外,我使用master.tar.gz,因爲如果我嘗試使用GIT gui使用克隆庫,它會顯示一條錯誤消息,指出該目錄存在。爲了非常激動,我完全失去了所有這些GIT的東西。

任何建議將有所幫助。

感謝您提前。

回答

2

您也可以按照Building Qt5 from Git的指示操作。 Perl是Qt5源代碼構建的配置步驟所需要的,這是通過Perl腳本完成的。

+0

好的,所以我已經安裝了qt5。但另外我還安裝了perl和python。我仍然收到相同的錯誤信息。 這兩種腳本語言也被添加到系統路徑變量中。 'perl.exe'不被識別爲內部或外部命令,可操作程序或批處理文件。 – thedorkknight 2013-03-08 16:25:37

+0

@thedorkknight - 實際上,閱讀鏈接的構建頁面:「Qt 3D現在是Qt 5 Essential,並作爲Qt 5和Qt SDK的一部分發布。」您不需要構建它,它應該已經在您的SDK中。 – 2013-03-08 16:27:18

+1

是的,你是對的。它是QT5的一部分,但它沒有整合,需要單獨構建它。 [檢查此](http://stackoverflow.com/questions/14326512/is-qt3d-a-part-of-qt5?rq=1) 我收到相同的錯誤信息,當我嘗試構建源qt3d是qt5的一部分。 – thedorkknight 2013-03-08 16:30:17

1

我想補充一點,因爲我得到了比盜賊騎士更多,但仍然有問題。在安裝ActivePerl並將perl bin目錄添加到我的%PATH%後,我可以從源代碼構建Qt3D倉庫(使用QtCreator)。我現在遇到的部分是「make install」部分。我嘗試手動將文件複製到我的Qt目錄並從頭開始構建qmldir文件,並使QtCreator「查看」Qt3D庫,但它仍拒絕加載.dll。錯誤說:

C:/Qt/5.1.1/msvc2010/qml/Qt3D/qthreedqmlplugin.dll: The specified module could not be found. 

我已經MinGW的安裝,並試圖做一個從構建目錄「的mingw32-make install的」,但失敗了。即使這個文件是絕對存在的。還有什麼想法?或者其他途徑讓Qt3D在Windows中工作?

編輯:我發現,因爲我使用MSVC作爲我的編譯器,所以我還需要使用Visual Studio命令提示符並使用nmake install,而不是按照適用於Linux的Qt3D安裝說明進行make install。現在它工作了!

2

我整天搜索互聯網尋找幫助,安裝插件到Windows上的QT安裝 而無需從源代碼重新編譯QT。 我已經開始工作了(到目前爲止,我只測試了一個例子,它運行並加載了gui,沒有任何錯誤)這是與qtlocation配合使用的,但是與qt3d相同的過程也是一樣的。搏一搏。

要求: 獲取並安裝最新版本的QT(我使用QT 5.1.1(Mingw32位),但我確信這應該適用於VSS 安裝perl(我認爲Activeperl 5。18 64bit) 獲取git客戶端(我在MAC上使用客戶端(XCODE))

==獲取完整的Git克隆庫使用Git cleint。從https://qt.gitorious.org/qt/qtlocation下載的存檔只是不會做,它不包括需要== 須藤混帳混帳克隆的所有文件://gitorious.org/qt/qtlocation.git 這應該下載一個叫qtlocation 複製下載GIT平板目錄文件到您的Windows操作系統(例如複製到C:\ qtlocation)

==在您的Windows操作系統=== 從Windows。將Perl路徑添加到您的QT命令行。我通過編輯 C:\ Qt \ Qt5.1.1 \ 5.1.1 \ mingw48_32 \ bin \ qtenv.bat 並將以下內容添加到路徑 C:\ Perl64 \ site \ bin; C:\ Perl64 \ bin ; 所以它讀取 設置PATH = C:\ Perl64 \ site \ bin; C:\ Perl64 \ bin; C:\ Qt \ Qt5.1.1 \ 5.1.1 \ mingw48_32 \ bin; C:\ Qt \ Qt5.1.1 /工具/ mingw48_32 \ bin;%PATH%

(以後需要使用perl命令mingw32-make.exe)。

現在通過啓動的Qt 5.1.1桌面轉到 開始啓動與QT路徑命令提示符 - >所有程序 - > - > - > - >的Qt 5.1.1桌面(MinGW的版本)

將光盤放入您將qtlocation git文件放入 的文件夾中CD C:\ qtlocation 那麼這個運行

的mingw32-的make.exe

這將需要幾分鐘才能完成後運行

QMAKE

。 在哪一點編譯.dll。

===獲取QT識別DLL的=== 我確定可能有一個更簡單的過程,但我將文件複製到我認爲可能需要的位置。 我在QT 5.1.1安裝過程中首先安裝了「addons」。 (一個示例插件是qtsensor - 但你不需要這樣做)。 這是我可以看到傳感器插件安裝的所有文件夾本身 然後我進入我的qt mingw文件夾中的每個文件夾。

例如C:\ Qt \ Qt5.1.1 \ 5.1.1 \ mingw48_32和任何我看到對傳感器插件的引用,我從qtlocation文件夾中複製類似的文件到它。 基本上我複製下面的(你可以在命令提示符下做到這一點)

複製C:\ qtlocation \包括\ QtPositioning C:\ Qt的\ Qt5.1.1 \ 5.1.1 \ mingw48_32 \包括 複製C:\ qtlocation \ examples *。* C:\ Qt \ Qt5.1.1 \ 5.1.1 \ mingw48_32 \ examples copy C:\ qtlocation \ mkspecs \ modules *。* C:\ Qt \ Qt5.1.1 \ 5.1.1 \ mingw48_32 \ mkspecs \ modules 複製C:\ qtlocation \ plugins \ position C:\ Qt \ Qt5.1.1 \ 5.1.1 \ mingw48_32 \ plugins 複製C:\ qtlocation \ lib \ cmake \ Qt5Positioning C:\ Qt \ Qt5.1.1 \ 5.1.1 \ mingw48_32 \ lib \ cmake 複製C:\ qtlocation \ lib \ pkgconfig *。* C:\ Qt \ Qt5.1.1 \ 5.1.1 \ mingw48_32 \ lib \ pkgconfig 複製C:\ qtlocation \ lib *。一個C:\ Qt \ Qt5.1.1 \ 5.1.1 \ mingw48_32 \ lib 複製C:\ qtlocatio n \ lib * .prl C:\ Qt \ Qt5.1.1 \ 5.1。1 \ mingw48_32 \ lib 複製C:\ qtlocation \ lib * .dll C:\ Qt \ Qt5.1.1 \ 5.1.1 \ mingw48_32 \ bin

而那就是它。我確定我並不需要複製上面所做的所有文件,但認爲Id是徹底的,而不是試驗和錯誤,以找出哪些是需要的。

之後,Fireup QT。 並加載qtlocation附帶的一個示例。

P.S.使用VSS來做到這一點我想你會換成「mingw32-make.exe」「nmake install」 ??我認爲。

上述程序我猜猜應該也適用於QT的任何插件。

0

我跟着從這個鏈接如下步驟:http://qt-project.org/forums/viewthread/38263

這是摘錄自該頁面

最後,我成功了!所以,我首先下載了最新版本的 Qt,Qt 5.2.1我用git客戶端將git倉庫 中Qt3D的源碼下載到文件夾「C:\ qt3d」中,其終端爲「Qt 5.2.1 for桌面(MinGW的4.8 32位)」 CD C:\ qt3D的qmake的mingw32-的make.exe安裝

‘讓所有文件被複制到Qt 配置文件夾安裝’是重要的。然後,在.pro文件,添加QT + = 3D和在 main.qml文件:進口QtQuick 2.0進口Qt3D 2.0進口Qt3D.Shapes 2.0

我的困境的主要原因是,我已經下載Qt3D通過使用git下載按鈕。但是,這會將源文件複製到適當的文件中。所以最好使用git clone使用git client下載源代碼。