【问题标题】:g++ error, unrecognized option, --subsystem console" in eclipse in ubuntug++ 错误,无法识别的选项,--subsystem 控制台”在 Eclipse 中的 ubuntu
【发布时间】:2014-02-12 03:01:44
【问题描述】:

我已经正确安装了 ubuntu 12.04 LTS 32bit。我在构建项目时遇到了问题。

我正确安装了所有东西,即 gcc、g++ 和其他所需的库。当我构建我的项目时,它会构建,但是当我清理它并想要再次构建它时,它不会构建并给出错误“g++ 错误,无法识别的选项,--subsystem 控制台”。 我有 Eclipse indigo,它是在 ubuntu 12.04 LTS 中构建的。 gcc4.6、g++ 4.6、jdk1.6都安装正确。

【问题讨论】:

  • GCC 没有这样的选项--subsystem。为什么会有它?
  • @JoachimPileborg 看起来像 MSVC 使用的 /SUBSYSTEM:CONSOLE 选项。
  • 看起来 eclipse 配置错误,并假设您使用的是 mingw 而不是本机 gcc。 mingw 上应该有一个链接器选项 -Wl,--subsystem,console 或 -mconsole(替代方案是 -Wl,--subsystem,windows 或 -mwindows),它可以让您在有或没有控制台窗口的情况下进行构建(对于基于 winapi 的有用应用程序)。显然 ubuntu 的原生 gcc 不接受这些参数。
  • @nurettin 感谢您的快速回复。那么我将如何在 ubuntu 中解决这个问题?
  • @JoachimPileborg 我不知道为什么我会遇到这个问题.. 我安装的每件东西都很好。

标签: c++ eclipse ubuntu gcc g++


【解决方案1】:

此选项仅在您以 Windows 为目标时才有意义(因此,您运行 MinGW 或交叉编译到 Windows)

这不是编译器选项本身,而是链接器之一。来自ld 文档:

--子系统
--子系统:主要
--subsystem which:major.minor
指定程序将在其下执行的子系统。这 合法值为“native”、“windows”、“console”、“posix”、 和“Xbox”。您也可以选择设置子系统版本。 其中也接受数值。 [这个选项是 特定于链接器的 i386 PE 目标端口]

如果您没有交叉编译或运行 MinGW,则应配置 IDE 或构建系统以关闭此标志

否则,您应该重新配置IDE或构建系统以将此选项传递给链接器,因此您应该替换

--subsystem,console

-Wl,--subsystem,console

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多