什么是clang相当于--no-undefined gcc标志?

iur*_*rii 8 macos gcc clang

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

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

谢谢.

Pra*_*han 12

OS X使用不同的链接器.正如@rubenvb指出的那样,它可能是来自Apple的binutils.如果您运行man ld并搜索"未定义",您将找到以下选项:

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

因此,更换-Wl,--no-undefined-Wl,-undefined,error.另外,使用力量,卢克.