我需要编译我的Windows Qt应用程序,而我正在使用Fedora 14,它有Qt Creator MinGW的二进制包。我正确安装了所有必需的交叉编译包,并将qmake的路径添加为/usr/bin/mingw32-qmake-qt4
。 Qt Creator无法获得足够的环境变量来设置所需的工具链。
经过一番挖掘后,我发现Qt Creator使用参数-query
调用指定的qmake路径来获取这些变量。
我发现直接调用/usr/bin/mingw32-qmake-qt4 -query
会出现错误***Unknown option -query
。所以我猜Qt Creator是无辜的。
然后我发现/usr/bin/mingw32-qmake-qt4
只不过是使用/usr/libexec/mingw32-scripts
,basename $0
,bla bla bla的通用脚本rpm --eval
的符号链接。
现在我累了。以前有人可以过来吗?
这些是我安装的软件包的版本(它们是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提供的二进制包而不是本地构建的库或工具
答案 0 :(得分: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,也许有人在那里有更好的想法如何解决这个问题。