【问题标题】:clang: error: unknown argument: '-fno-leading-underscore'clang:错误:未知参数:'-fno-leading-underscore'
【发布时间】:2020-11-27 18:34:38
【问题描述】:

我正在尝试使用 -fno-leading-underscore 选项编译我的 .cpp,但它会引发错误提示:

clang: error: unknown argument: '-fno-leading-underscore'

g++ -m32 -fno-use-cxa-atexit -nostdlib -fno-builtin -fno-rtti -fno-exceptions -fno-leading-underscore -o kernel.o -c kernel.cpp

我该如何解决这个问题我是 Mac 新手,它曾经在 Linux Mint 上工作

【问题讨论】:

  • 看来,clang 不支持这个选项
  • g++ --version 是否说您正在使用 clang?或者您是否安装了 GCC 编译器(例如,brew install gcc)?
  • 我用 gcc 和 g++ 尝试了这个,结果是一样的。我不想删除 -fno-leading-underscore 的原因是应用程序包含各种文件,不仅是 c++,而且还有汇编程序,当我删除 -fno-leading-underscore 时,它​​需要更新这么多文件跨度>
  • 我用 brew install gcc 安装了 GCC 编译器
  • @OmerOzhan 看看:gcc.gnu.org/onlinedocs/gcc-4.4.0/gcc/…Warning: the -fleading-underscore switch causes GCC to generate code that is not binary compatible with code generated without that switch. Use it to conform to a non-default application binary interface. **Not all targets provide complete support for this switch.**

标签: c++ macos terminal g++ clang++


【解决方案1】:

在您的终端中,输入g++ 并按回车键。你可能会得到:

$ clang: No input files

你可以看到它在下面仍然叮当响。

要解决此问题,首先将cd 输入/usr/local/bin 并输入ls。你会看到里面的二进制文件:

g++-9
...

接下来,为它创建一个符号链接,以便您可以直接调用g++

ln -s g++-9 g++

如果由于某种原因仍然无法正常工作,您可以显式编写g++-9 或您拥有的任何版本。你甚至可以给出完整路径/usr/local/bin/g++-9

【讨论】:

  • 我做了这些,并且知道每个文件都会出现这个错误,我现在无法编译任何东西。
  • 我尝试了许多不同的脚本并且得到了各种错误。错误:'z\U000000a0' 未在此范围内声明 41 | std::cout /var/folders/mg/01wpmmzn4nv8bxxv3_3yyxfm0000gn/T//ccniavkq.s:228:2: 错误:指令要求:非 64 位模式 pushl %eax
  • 所有这些都在不同的文件中
  • 您确认您现在确实在运行 gcc 吗?至于错误,它们与您的硬件有关。您需要为此提出另一个问题:)
  • 如果您的原始问题得到解答,请接受答案:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-04-18
  • 2014-04-14
  • 1970-01-01
  • 2014-11-24
  • 2014-05-07
  • 1970-01-01
相关资源
最近更新 更多