我正在尝试在Qt5上安装Qt3d。当我安装QT5时,在安装文件夹中有一个src文件夹。在此文件夹中,存在qt3d库。
如果我理解正确,我必须构建它才能使用各种头文件。
但我想要最新消息来源。 所以为了下载qt3d的源代码来构建QT5,我点击这个https://qt.gitorious.org/qt/qt3d上的master然后我下载master.tar.gz,我将它保存在我想要构建qt3d库的文件夹中。< / p>
然后我按照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'时
我感到困惑的是,为什么编译器说当在src.pro和threed.pro中都找不到文件perl.exe时,无法识别perl.exe。 perl是如何进入图片的。
另外,我使用的是master.tar.gz,因为如果我尝试使用GIT gui使用克隆存储库,它会显示一条错误消息,指出该目录存在。为了非常优秀,我完全迷失了所有这些GIT的东西。
任何建议都会有所帮助。
提前感谢你。
答案 0 :(得分:2)
您还需要按照Building Qt5 from Git的说明操作。 Qt5源代码构建的配置步骤需要Perl,这是通过Perl脚本完成的。
答案 1 :(得分:2)
我整天都在网上寻找帮助,在Windows上安装QT安装插件 无需从源代码重新编译QT。 我得到了我的工作(到目前为止。我只测试了一个例子,它运行并加载gui没有任何错误)这是与qtlocation但我quessing qt3d是相同的过程。试一试。
要求: 获取并安装最新版本的QT(我使用的是QT 5.1.1(Mingw32位),但我相信这应该适用于VSS 安装perl(I isntalled Activeperl 5.18 64bit) 获取一个git客户端(我在我的MAC上使用客户端(XCODE))
==获取完整的Git克隆存储库使用Git cleint。来自https://qt.gitorious.org/qt/qtlocation的下载档案不会,它不包括所需的所有文件== sudo git clone git://gitorious.org/qt/qtlocation.git 这应该下载到一个名为qtlocation的目录 将下载的GIT Flat文件复制到Windows操作系统(例如复制到C:\ qtlocation)
==在您的Windows操作系统上=== 来自Windows。将Perl路径添加到QT命令行。我是通过编辑完成的 C:\ Qt的\ Qt5.1.1 \ 5.1.1 \ mingw48_32 \ BIN \ qtenv.bat 并将以下内容添加到路径中 C:\ Perl64 \网站\ BIN; C:\ Perl64 \ BIN; 所以它读了 set PATH = C:\ Perl64 \ site \ bin; C:\ Perl64 \ bin; C:\ Qt \ Qt5.1.1 \ 5.1.1 \ mingw48_32 \ bin; C:\ Qt \ Qt5.1.1 / Tools / mingw48_32 \ bin ;%PATH%
(稍后mingw32-make.exe需要perl)。
现在通过启动Qt 5.1.1 for Desktop启动带有QT路径的命令提示符 开始 - &gt;所有节目 - &gt; - &GT; - &GT; - &GT; Qt 5.1.1 for Desktop(MinGw Version)
将CD放入你把qtlocation git文件放入的文件夹中 例如 cd c:\ qtlocation 然后运行
<强>的qmake 强>
此次运行后
<强>的mingw32-的make.exe 强>
这将需要几分钟才能完成。 此时.dll被编译。
===让QT识别DLL的=== 我确定可能有一个更简单的过程,但我将文件复制到我认为可能需要的位置。 我通过在QT 5.1.1安装期间首先安装“插件”来做到这一点。 (例如插件是qtsensor - 但你不需要这样做)。 这样我就可以看到传感器插件安装的所有文件夹 然后我进入了qt mingw文件夹中的每个文件夹。
e.g。 C:\ Qt \ Qt5.1.1 \ 5.1.1 \ mingw48_32以及我看到对传感器插件的引用的任何地方,我将qtlocation文件夹中的类似文件复制到其中。 基本上我复制了下面的内容(你可以在命令提示符下执行此操作)
复制C:\ qtlocation \ include \ QtPositioning C:\ Qt \ Qt5.1.1 \ 5.1.1 \ mingw48_32 \ include 复制C:\ qtlocation \ examples *。* C:\ Qt \ Qt5.1.1 \ 5.1.1 \ mingw48_32 \ examples 复制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 * .a C:\ Qt \ Qt5.1.1 \ 5.1.1 \ mingw48_32 \ lib 复制C:\ qtlocation \ 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
就是这样。我确定我不需要复制我上面所做的所有文件,但认为我是彻底而不是试错,以找出所需的文件。
此后,Fireup QT。 并加载qtlocation附带的一个示例。
P.S。使用VSS执行此操作我认为您将交换“mingw32-make.exe”“nmake install” ??我想。
以上程序我猜测也适用于QT的任何插件。
答案 2 :(得分:1)
我想补充一点,因为我比斗士更进一步,但仍然有问题。安装ActivePerl并将perl bin目录添加到我的%PATH%后,我能够从源代码构建Qt3D repo(使用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。现在它有效!
答案 3 :(得分:0)
我在此链接中执行了以下步骤:http://qt-project.org/forums/viewthread/38263
这是该页面的摘录
最后,我成功了!所以,首先我下载了最新版本的 Qt,Qt 5.2.1我从git存储库下载了Qt3D的源代码 使用git客户端进入文件夹“C:\ qt3d”,终端“Qt 5.2.1 for Desktop(MinGW 4.8 32 bit)“cd C:\ qt3D qmake mingw32-make.exe install
“安装”很重要,所有文件都被复制到Qt中 配置文件夹。然后,在.pro文件中,添加QT + = 3d And main.qml文件:import QtQuick 2.0导入Qt3D 2.0导入Qt3D.Shapes 2.0
我的困境的主要原因是我使用git中提供的下载按钮下载了Qt3D。但是,这会将源文件复制到适当的文件中。所以最好使用git client使用git clone下载源代码。