【问题标题】:Building for Windows under Linux using Qt Creator使用 Qt Creator 在 Linux 下为 Windows 构建
【发布时间】:2011-07-06 07:27:59
【问题描述】:

当我使用 Fedora 14 时,我需要为 Windows 编译我的 Qt 应用程序,它有用于 Qt Creator MinGW 的二进制包。我正确安装了所有必需的交叉编译包,并将 qmake 的路径添加为/usr/bin/mingw32-qmake-qt4。 Qt Creator 无法获得足够的环境变量来设置所需的工具链。

经过一番挖掘,我发现Qt Creator调用指定的qmake路径,参数-query来获取这些变量。

我发现直接调用/usr/bin/mingw32-qmake-qt4 -query会报错***Unknown option -query。所以我猜 Qt Creator 是无辜的。

然后我发现/usr/bin/mingw32-qmake-qt4 只不过是指向使用basename $0rpm --eval、bla bla bla 的通用脚本/usr/libexec/mingw32-scripts 的符号链接。

现在我累了。以前有没有人能过来?

这些是我安装的软件包的版本(它们是截至 2011/07/06 的最新版本):

mingw32-binutils.i686                2.20.1-2.fc14               @updates       
mingw32-cpp.i686                     4.5.0-1.fc14                @fedora        
mingw32-dbus.noarch                  1.4.1-0.1.20101008git.fc14  @updates       
mingw32-expat.noarch                 2.0.1-6.fc13                @fedora        
mingw32-filesystem.noarch            64-2.fc14                   @updates       
mingw32-gcc.i686                     4.5.0-1.fc14                @fedora        
mingw32-gcc-c++.i686                 4.5.0-1.fc14                @fedora        
mingw32-libjpeg.noarch               7-2.fc12                    @fedora        
mingw32-libpng.noarch                1.4.3-1.fc14                @fedora        
mingw32-libtiff.noarch               3.9.5-1.fc14                @updates       
mingw32-pthreads.noarch              2.8.0-10.fc13               @fedora        
mingw32-qt.noarch                    4.7.1-3.fc14                @updates       
mingw32-qt-qmake.i686                4.7.1-2.fc14                @updates       
mingw32-runtime.noarch               3.15.2-5.fc13               @fedora        
mingw32-sqlite.noarch                3.6.22-1.fc13               @fedora        
mingw32-w32api.noarch                3.14-1.fc14                 @fedora        
mingw32-zlib.noarch                  1.2.5-1.fc14                @fedora        
qt.i686                              1:4.7.2-8.fc14              @updates       
qt-assistant.i686                    1:4.7.2-8.fc14              @updates       
qt-creator.i686                      2.1.0-4.rc1.fc14            @updates       
qt-demos.i686                        1:4.7.2-8.fc14              @updates       
qt-devel.i686                        1:4.7.2-8.fc14              @updates       
qt-examples.i686                     1:4.7.2-8.fc14              @updates       
qt-mysql.i686                        1:4.7.2-8.fc14              @updates       
qt-webkit.i686                       1:4.7.2-8.fc14              @updates       
qt-x11.i686                          1:4.7.2-8.fc14              @updates 

我忘了说我更喜欢使用 Fedora repos 提供的二进制包而不是本地构建的库或工具

【问题讨论】:

    标签: qt qt4 mingw qt-creator qmake


    【解决方案1】:

    我快速浏览了我的 Fedora 15 安装过程中发生了什么。

    mingw32-qmake-qt4 是一个浅包装器,基本上只是调用qmake -spec win32-g++-cross $0。现在,如果你调用mingw32-qmake-qt4 -query-spec-query 选项都会传递给 qmake。然而,Qmake 愚蠢到不能同时接受这两个选项并给你错误消息。

    我想可以通过将 mingw32-qmake 包装脚本替换为具有硬编码 -spec 选项的正确可执行文件来修复它。这样一来,就无需使用 -spec 选项,并且您将获得一个有效的 -query 选项。

    您可能想写信给Fedora MinGW mailing list,也许那边的人有更好的解决方法。

    【讨论】:

    • 感谢您的回答。实际上我是通过使用正常的 qmake-qt4 -spec fedora-win32-cross 来做到的,但是当时stackoverflow阻止我添加我的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-19
    • 1970-01-01
    • 2014-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多