无法识别的命令行选项 '-WI'

Unrecognized Command Line Option '-WI'

本文关键字:-WI 选项 命令行 识别      更新时间:2023-10-16

我正在尝试为大学设置QT,并且遇到了一些问题。我正在运行Windows 8,但我不确定哪个版本的QT或QTCreator,但不是最新版本 - 我们获得了版本安装程序,因此我们必须使用此版本,尽管我确实在QTCreator设置之前自己安装了最新的MingW。

我在qtcreator中尝试了一些演示代码,并且在尝试运行以下代码时,我遇到了"未识别命令行"选项。

#include <QtCore/QCoreApplication>
#include <QtGui/QMessageBox>
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    QMessageBox msgBox;
    msgBox.setText("This is some text.");
    msgBox.exec();

    return a.exec();
}

我需要做我的作业,当我遇到所有这些奇怪的错误时,我不确定如何做。任何帮助将不胜感激。

预先感谢!

*编辑 *

这是我在构建过程中可以在qtCreator中找到的错误输出。

Running build steps for project TestProject...
Configuration unchanged, skipping qmake step.
Starting: "C:/MinGW/bin/mingw32-make.exe" -w 
mingw32-make: Entering directory 'C:/Users/Nick/Documents/Qt Projects/TestProject-build-desktop' 
C:/MinGW/bin/mingw32-make -f Makefile.Debug 
mingw32-make[1]: Entering directory 'C:/Users/Nick/Documents/Qt Projects/TestProject-build-desktop' 
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -Wl,-subsystem,console -mthreads -Wl -o debugTestProject.exe debug/main.o -L"c:Qt2010.04qtlib" -lQtCored4 
Makefile.Debug:73: recipe for target 'debugTestProject.exe' failed 
mingw32-make[1]: Leaving directory 'C:/Users/Nick/Documents/Qt Projects/TestProject-build-desktop' 
Makefile:34: recipe for target 'debug' failed 
mingw32-make: Leaving directory 'C:/Users/Nick/Documents/Qt Projects/TestProject-build-desktop' 
g++: error: unrecognized command line option '-Wl' 
mingw32-make[1]: *** [debugTestProject.exe] Error 1 
mingw32-make: *** [debug] Error 2 
The process "C:/MinGW/bin/mingw32-make.exe" exited with code %2.
Error while building project TestProject (target: Desktop)
When executing build step 'Make'

这是qtCreator生成的.pro文件的内容:

QT       += core
QT       -= gui
TARGET = TestProject
CONFIG   += console
CONFIG   -= app_bundle
TEMPLATE = app

SOURCES += main.cpp

正如Mats所说的问题是命令行中的额外-Wl

这是由于QT Conf Files 中的错误,因此可以"永久"(本地)修复。

您需要编辑其中一个(可能是两个)文件(通常在C:Qt2010.02qtmkspecs中):

  • mkspecsdefaultqmake.conf
  • mkspecswin32-g++qmake.conf

更改此问题:

QMAKE_LFLAGS        = -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc
QMAKE_LFLAGS_EXCEPTIONS_ON = -mthreads -Wl

QMAKE_LFLAGS        = -Wl,-enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc
QMAKE_LFLAGS_EXCEPTIONS_ON = -mthreads

因为从第一行的开头开始以某种方式-Wl,在第二行的末端错误。

此编辑后,如果您清洁并重建项目,您将不再看到错误。

注意:

  • 同样的错误也引起了这个问题,因此感谢Leemes在那里的回答)
  • 它在QT中是固定的,因为我相信4.7版

问题显然是:

g - 启用stdcall-fixup -wl,-enable-auto-import -wl,-enable-runtime-peSudo-reLoc -wl,-subsystem,Console -mthreads -wl -o debug testproject.exe debug/main.o -l" qt lib" -lqtcored4

我不确定如何整理它,但是对我来说,它看起来像是用 -Wl${somestuff}的制作费,并且由于某种原因没有定义 ${somestuff}。要么,要么在链接命令的conmendline中有一个虚假的-Wl,但这似乎较小。