我正在尝试使用clang在Mac OS X上构建一个项目,并且在与ld: unknown option: --no-undefined
的链接步骤失败,这意味着使用gcc构建。
这个选项的铿锵声等同于什么? (请不要建议使用gcc而不是clang。)
另外,一个更通用的问题,是否有任何资源可以找到某种类型的"映射" gcc和clang(链接器)之间的选项差异?
谢谢。
答案 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。