包含QDebug时mingw32链接器错误

时间:2012-08-05 15:18:49

标签: windows qt linker mingw

我有这个最小的例子:

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

我的设置:

  • Windows XP SP3
  • Qt SDK 1.2.1版(QtCreator 2.4.1,Qt Desktop版本4.8.1)(全新安装在C:\QtSDK\
  • MinGW32版本4.4.0(包含在C:\QtSDK\mingw\的Qt SDK中)

如果删除#include <QDebug>,则编译正常。如果我包含一些其他Qt头文件,例如QCoreApplication,它编译也很好。

编辑:这是一个非常奇怪的最小例子。考虑一个像上面这样的空主函数。现在,如果我把这些包括在内,它就无法链接:

#include <QWidget>
#include <QVariant>

但如果我删除其中一个,它会链接而不会出错。

问题是什么?为什么不告诉我无效参数是什么

1 个答案:

答案 0 :(得分:0)

我想知道链接器找不到lQtCored4 lib吗?它实际上在-L目录中吗?