标题:Qt 求解答
作者:foolifish
日期:2014-12-17 12:26
内容:
这两天再搞 Qt的静态编译。。。
看了网上的很多教程
本机安装有qt-windows-opensource-5.2.0-mingw48_opengl-x86-offline.exe
又下载了qt-everywhere-opensource-src-5.2.1.zip
Perl : ActivePerl-5.20.1.2000-MSWin32-x86-64int-298557.msi
ruby :rubyinstaller-2.1.5.exe 和 python3.3
尝试过配置命令 configure -confirm-license -opensource -platform win32-g++ -release -static -ltcg -prefix "F:\QT\Qt_static" -qt-sql-sqlite -qt-sql-odbc -plugin-sql-sqlite -plugin-sql-odbc -qt-zlib -qt-libpng -qt-libjpeg -opengl desktop -no-qml-debug -nomake tests -nomake examples -skip qtwebkit -qt-pcre -no-compile-examples
和 configure -prefix "F:\Qt\Qt_static" -opensource -nomake tests -opengl desktop -no-angle -platform win32-g++ -skip qtwebkit -no-exception -release -no-exception -static
却总是静态编译失败。。。
不得已又找到了 网上的一份编译好的5.2.1-mingw32-rel-static
却又在Qt create报错:module "QtQuick" is not installed
错误指向我qml里面的import QtQuick 2.0 快疯了。。。。求解答
#1 [realfan 12-17 14:34]
你用最新的Qt 5.4试试
http://www.qtcn.org/bbs/read-htm-tid-58019.html
#2 [foolifish 12-18 11:10]
总结是问题莫名其妙的解决了。。。
我没有尝试5.4的版本 重新找了一份比较长的命令编译了
5.2.1
命令如下configure -confirm-license -opensource -platform win32-g++ -release -static -ltcg -prefix "F:\Qt\Qt5.2.1_static" -qt-sql-sqlite -qt-sql-odbc -plugin-sql-sqlite -plugin-sql-odbc -qt-zlib -qt-libpng -qt-libjpeg -opengl desktop -no-qml-debug -nomake tests -nomake examples -skip qtwebkit -qt-pcre -no-compile-examples
mingw32-make 后发现竟然没有什么错误。。。。然后果断install
mingw32-make install 后发现竟然只有 500M。。。。
之前用网上编译好的版本放到qtcreate里面 都发现 module "QtQuick" is not installed 这个错误
我qml里面 import qtquick 2.0 写的程序是qtquick的app猜测前人都没有编译qml 这块。。。虽然 看他们config的命令中都没有 -no-qml....之类的 当然最后成功时使用的命令中有-no-qml-debug但是反正之后用qtcreate都是用release写的应该没有什么关系。。。
2、来说说失败
我之前自己静态编译用的命令如下configure -prefix "F:\Qt\Qt_static" -opensource -nomake tests -opengl desktop -no-angle -platform win32-g++ -skip qtwebkit -no-exception -release -no-exception -static
短了点但是每次都报错。。。第一第二次发现自己perl没装。。装完后就一直包同样的错误了。。。
失败了也有上十次了吧。。每次编译时间又特长。。有关open source的版本都换了好几次5.1 5.2 5.3.。。。当然config命令也换过好几次。。。当然每次几乎都报同样错。。
有一次用上述命令make成功过一次。。。后来发现 没写-static。。重来一样的错。。疯了。。
那个错误就是 _imp___z23qregister..........fail然后ERROR 1
接着一行 recipe target for。。。。。
#3 [foolifish 12-18 11:14]
3、困惑
问题一 当然想想请大家帮忙看看这成功的指令 和 失败的指令有何不同。。。
问题二
我看到网上也有人用offline里面自带的src 编译的。。
但是我基本失败 放到qtcreate里面都说连qmlscene无法找到什么的,,,试了一下果然不行我至今不知道他们是怎么成功的还放网上到处挂,这个秀那个修,关键是连说明都没有,,,大概他们的QT程序里面没有用到QML吧!?。。。
我现在想问offline版本里面的src和 qt everywhere里面的src有什么不一样吗?
#4 [foolifish 12-18 11:15]
作为 一个 QT 24K纯菜鸟 谢谢realfan共享狂魔的光顾~