1
我正在尝试在CMake
项目中使用gold
链接器和clang++
。如果我只是做Clang ++和`-fuse-ld = gold`导致许多未使用的选项警告
add_definitions(-fuse-ld=gold)
我得到吨警告形式:
clang: warning: argument unused during compilation: '-fuse-ld=gold'
- 是期权实际工作?
- 我应该在哪里添加它在我的
CMake
脚本中以避免在各处发出警告?
不是编译器调用链接器?该选项用于*选择*链接器,不传递给它。实际上,'clang ++ -fuse-ld = gold -Wl,--version'正确报告'gold'版本,而'clang ++ -Wl,-fuse-ld = gold -Wl, - version'会报告'ld',这意味着'clang ++'不会叫'黄金'。 – Svalorzen
是的,CMake(默认情况下)为**链接阶段**调用编译器。但*链接器在编译阶段无关*。你得到的警告信息意味着:编译时忽略链接器选项。当你用'-Wl,--version'请求版本时,你得到*版本的链接器*;当然,在这种情况下,存在/不存在'-fuse-ld = gold'有一定的意义。 – Tsyvarev