gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:15:08 29 4
gpt4 key购买 nike

我正在尝试为大学设置 Qt,但遇到了一些问题。我正在运行 Windows 8,我不确定是哪个版本的 Qt 或 QtCreator,但不是最新的 - 我们获得了版本安装程序,所以我们必须使用这个版本,尽管我在 QtCreator 安装之前自己安装了最新的 MinGW。

我在 QtCreator 中尝试了一些演示代码,当我尝试运行以下代码时出现错误“无法识别的命令行选项”-WI”。

#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 debug\TestProject.exe debug/main.o -L"c:\Qt\2010.04\qt\lib" -lQtCored4
Makefile.Debug:73: recipe for target 'debug\TestProject.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]: *** [debug\TestProject.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 文件中的错误,幸运的是,这可以“永久”(本地)修复。

您需要编辑这些文件中的一个(可能两个)(通常在 C:\Qt\2010.02\qt\mkspecs 中):

  • mkspecs\default\qmake.conf
  • mkspecs\win32-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, 错误地位于第二行的末尾。

在此编辑之后,如果您清理并重新构建您的项目,您将不会再看到该错误。

注意事项:

  • 同样的错误会导致 this issue也是,所以感谢 leemes 的回答)
  • fixed in Qt我相信从 4.7 版开始

关于c++ - 无法识别的命令行选项 '-WI',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22282871/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com