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