什么是clang等同于--no-undefined gcc标志?

时间:2014-11-17 11:08:11

标签: macos gcc clang

我正在尝试使用clang在Mac OS X上构建一个项目,并且在与ld: unknown option: --no-undefined的链接步骤失败,这意味着使用gcc构建。 这个选项的铿锵声等同于什么? (请不要建议使用gcc而不是clang。)

另外,一个更通用的问题,是否有任何资源可以找到某种类型的"映射" gcc和clang(链接器)之间的选项差异?

谢谢。

1 个答案:

答案 0 :(得分:9)

OS X使用不同的linker。正如@rubenvb指出的那样,它可能来自Apple's binutils。如果您运行man ld,并搜索" undefined",您会找到以下选项:

  

- 未定义的治疗                    指定如何处理未定义的符号。选项包括:error,warning,suppress或dynamic_lookup。默认值是错误。

因此,请将-Wl,--no-undefined替换为-Wl,-undefined,error。另外,使用Force,Luke。