【问题标题】:How to install QT3d on QT5?QT5如何安装QT3d?
【发布时间】:2013-02-24 05:25:45
【问题描述】:

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

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

但我想要最新的来源。 因此,为了下载 qt3d 的源代码以使用 QT5 构建,我在此 https://qt.gitorious.org/qt/qt3d 上单击 master,然后我下载 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'时

我很困惑的是,为什么在 src.pro 和 threed.pro 中都找不到文件 perl.exe 时,编译器会说 perl.exe 无法识别。 perl 是如何出现的。

另外,我正在使用 master.tar.gz,因为如果我尝试使用 GIT gui 使用克隆存储库,它会显示一条错误消息,指出该目录存在。老实说,我完全迷失了所有这些 GIT 的东西。

任何建议都会有所帮助。

提前谢谢你。

【问题讨论】:

    标签: qt5 qt3d


    【解决方案1】:

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

    【讨论】:

    • 好的,我已经安装了qt5。但另外我还安装了 perl 和 python。我仍然收到相同的错误消息。两种脚本语言也都添加到系统路径变量中。 'perl.exe' 不是内部或外部命令、可运行程序或批处理文件。
    • @thedorkknight - 实际上,阅读您链接的构建页面:“Qt 3D 现在是 Qt 5 Essential,并作为 Qt 5 和 Qt SDK 的一部分发布。”。您不需要构建它,它应该已经在您的 SDK 中。
    • 是的,你是对的。它是 QT5 的一部分,但没有集成,需要单独构建。 check this 当我尝试构建 qt3d 的源代码时收到相同的错误消息,它是 qt5 的准部分。
    • 听起来您必须进行完整的自定义 Qt5 构建才能获得它。
    • 好的,所以我下载了用于 32 位系统的 qt5.0.1 的源代码。但是那里没有qt3d。那我应该先编译qt5,然后编译qt3d?
    【解决方案2】:

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

    要求: 获取并安装最新版本的 QT(我使用的是 QT 5.1.1(Mingw32 位),但我确信这应该适用于 VSS 安装 perl(我安装的是 Activeperl 5.18 64bit) 获取一个 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 操作系统上 === 从窗户。将 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/Tools/mingw48_32\bin ;%PATH%

    (后面的mingw32-make.exe需要perl)。

    现在通过启动 Qt 5.1.1 for Desktop 来使用 QT 路径启动命令提示符,方法是转到 开始 -> 所有程序 -> -> -> -> Qt 5.1.1 for Desktop(MinGw 版本)

    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\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 附带的示例之一。

    附:要使用 VSS 执行此操作,我认为您可以换成“mingw32-make.exe”“nmake install” ??我想。

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

    【讨论】:

      【解决方案3】:

      我想补充一点,因为我比 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。现在可以了!

      【讨论】:

        【解决方案4】:

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

        这是该页面的摘录

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

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-05-23
          • 1970-01-01
          • 2020-04-20
          相关资源
          最近更新 更多