标题:使用MinGW4.8静态编译链接Qt的时候出现“QT_PLUGIN_PATH”错误
作者:彩阳
日期:2013-12-08 12:26
内容:
本来想在Windows下顺水推舟式的静态编译的,不料出错了……
使用Qt5.2RC自带的MinGW构建,从SourceForge上下载了MinGW的一个组件msys提供bash构建环境,但是——
cd qml/ && ( test -e Makefile || d:/QtSource/qtbase/bin/qmake.exe D:/QtSource/qt
declarative/tools/qml/qml.pro -o Makefile ) && mingw32-make -f Makefile
'QT_PLUGIN_PATH' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
Project ERROR: Failed to parse qmlimportscanner output.
makefile:96: recipe for target 'sub-qml-make_first' failed
mingw32-make: *** [sub-qml-make_first] Error 3
查了qml.pro文件,发现内容是这样的:
QT = qml core-private
qtHaveModule(gui): QT += gui
qtHaveModule(widgets): QT += widgets
HEADERS += conf.h
SOURCES += main.cpp
RESOURCES += qml.qrc
mac {
OTHER_FILES += Info.plist
QMAKE_INFO_PLIST = Info.plist
ICON = qml.icns
}
DEFINES += QT_QML_DEBUG_NO_WARNING
load(qt_tool)又跟了qt_tool.prf,跟了很久,都没有发现QT_PLUGIN_PATH这个符号。真是郁闷死我了。有没有高手给我一点儿提示?
/qtbase/bin/qmake.exe始终无法对该pro文件产生Makefile,真是烦死我了。
#1 [彩阳 12-08 15:19]
果然还是QML的问题啊,似乎QML和静态编译不兼容似的。
我是这么解决的,采用Qt5.2动态连接版的qmake生成了Makefile和Makefile.Release和Makefile.Debug,然后在用mingw32-make生成qml.exe的。
#2 [yujincheng08 12-15 13:00]
尝试在qml.pro加上
CONFIG += no_import_scan
#3 回 2楼(yujincheng08) 的帖子 [彩阳 12-15 15:37]
是不是发布的时候Qt团队没有添加上呢?
#4 回 3楼(彩阳) 的帖子 [yujincheng08 12-15 23:51]
不是。这样编译出来提示加载不了window插件。
在编译好的静态qt的bin里面用qmake (qml路径)/qml.pro -o Makefile 表示能生成正确makefile而且编译出来的qml.exe能正常使用。
貌似是qt+=qml的问题 原因不明