6

我正在尝试在 Qt5 上安装 Qt3d。当我安装 QT5 时,在安装文件夹中有一个 src 文件夹。在此文件夹中,存在 qt3d 库。

如果我理解正确,我必须构建它才能使用各种头文件。

但我想要最新的消息来源。因此,为了下载 qt3d 的源代码以使用 QT5 构建,我单击此https://qt.gitorious.org/qt/qt3d上的 master然后我下载 master.tar.gz,我将其保存在我所在的文件夹中想要构建 qt3d 库。

然后我按照使用 QT sdk页面构建 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 的东西。

任何建议都会有所帮助。

提前谢谢你。

4

4 回答 4

2

我整天在互联网上搜索有关在 Windows 上安装插件以安装 QT 的帮助,而无需从源代码重新编译 QT。我已经开始工作了(无论如何,到目前为止。我只测试了一个示例,它运行并加载了 gui 没有任何错误)这是使用 qtlocation 但我正在 quessing qt3d 是相同的过程。搏一搏。

要求:获取并安装最新版本的 QT(我使用的是 QT 5.1.1(Mingw32 位),但我确信这适用于 VSS 安装 perl(我安装了 Activeperl 5.18 64 位)获取一个 git 客户端(我在我的 MAC 上使用了客户端) (XCODE))

==使用 Git 客户端获取完整的 Git 克隆存储库。从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\site\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(MinGw 版本)启动 Qt 5.1.1 for Desktop,使用 QT 路径启动命令提示符

将 CD 放入您将 qtlocation git 文件放入的文件夹中,例如cd c:\qtlocation 然后运行

qmake

在这次运行之后

mingw32-make.exe

这将需要几分钟才能完成。此时 .dll 被编译。

===让 QT 识别 DLL=== 我确信可能有一个更简单的过程,但我将文件复制到我认为可能需要它们的位置。我通过在安装 QT 5.1.1 期间首先安装“插件”来做到这一点。(一个示例插件是 qtsensor - 但您不需要这样做)。这样我就可以看到传感器插件自己安装的所有文件夹然后我进入了我的 qt mingw 文件夹中的每个文件夹。

例如 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\示例复制 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

就是这样。我确定我不需要复制上面所做的所有文件,但我认为 Id 是彻底的,而不是反复试验来找出需要的文件。

在此之后,Fireup QT。并加载 qtlocation 附带的示例之一。

PS 使用 VSS 来做到这一点,我想你会换成“mingw32-make.exe”“nmake install”??我认为。

我猜上述过程也适用于 QT 的任何插件。

于 2013-11-18T21:18:37.153 回答
2

您还需要遵循从 Git 构建 Qt5的说明。Qt5 源代码构建的配置步骤需要 Perl,这是通过 Perl 脚本完成的。

于 2013-03-08T15:51:22.257 回答
1

我想补充一点,因为我比 thedorkknight 走得更远,但仍然有问题。在我安装 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。现在它起作用了!

于 2013-11-07T15:37:22.930 回答
0

我从这个链接按照以下步骤操作:http: //qt-project.org/forums/viewthread/38263

这是该页面的摘录

终于,我成功了!所以,首先我下载了​​最新版本的 Qt,Qt 5.2.1 我使用 git 客户端从 git 存储库下载了 Qt3D 的源代码到文件夹“C:\qt3d”,终端为“Qt 5.2.1 for Desktop (MinGW) 4.8 32 位)” cd C:\qt3D qmake mingw32-make.exe 安装

“安装”很重要,以便将所有文件复制到 Qt 配置文件夹中。然后,在 .pro 文件中,添加 QT += 3d 并在 main.qml 文件中: import QtQuick 2.0 import Qt3D 2.0 import Qt3D.Shapes 2.0

我遇到麻烦的主要原因是我使用 git 中的下载按钮下载了 Qt3D。但是,这会将源文件复制到适当的文件中。所以最好使用 git 客户端使用 - git clone 下载源代码。

于 2015-01-10T17:12:55.830 回答