2013-03-08 74 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下载源代码。