我有这个最小的例子:
QT -= gui
CONFIG += qt console
SOURCES += main.cpp
#include <QDebug>
int main(int argc, char** argv)
{
return 0;
}
在构建项目时出现链接错误:
c:/ qtsdk / mingw / bin /../ lib / gcc / mingw32 / 4.4.0 /../../../../ mingw32 / bin / ld.exe:最终链接失败:无效参数
链接命令如下所示:
g ++ -Wl -Wl -Wl,-subsystem,console -mthreads -o debug \ test.exe debug / main.o -L&#34; c:\ QtSDK \ Desktop \ Qt \ 4.8.1 \ mingw \ lib& #34; -lQtCored4
我的设置:
C:\QtSDK\
)C:\QtSDK\mingw\
的Qt SDK中)如果删除#include <QDebug>
,则编译正常。如果我包含一些其他Qt头文件,例如QCoreApplication,它编译也很好。
编辑:这是一个非常奇怪的最小例子。考虑一个像上面这样的空主函数。现在,如果我把这些包括在内,它就无法链接:
#include <QWidget>
#include <QVariant>
但如果我删除其中一个,它会链接而不会出错。
问题是什么?为什么不告诉我无效参数是什么?
答案 0 :(得分:0)
我想知道链接器找不到lQtCored4 lib吗?它实际上在-L目录中吗?