CMake - 如何避免链接器命令行中的 CMAKE_CXX_FLAGS

Ale*_*der 6 linux gcc g++ cmake linker-flags

我在使用 cmake/gcc/Linux 时遇到问题。

无论我尝试什么,我都无法摆脱链接器行上的 CMAKE_CXX_FLAGS。CMake 在链接模式下调用 g++ 时不断传递它们。

我的 CMAKE_CXX_FLAGS 中有 -fopenmp 并且它不能出现在链接线上,所以 g++ 不会链接到 gomp(我使用的是 Intel 的 iomp5)。

编辑:我在 CMakeLists.txt 的开头尝试了以下内容,但没有帮助:

set(CMAKE_CXX_LINK_EXECUTABLE
    "<CMAKE_CXX_COMPILER>  <FLAGS> <LINK_FLAGS> <OBJECTS>  -o <TARGET> <LINK_LIBRARIES>")
Run Code Online (Sandbox Code Playgroud)

谢谢

Ale*_*der 5

结果

add_compile_options("-fopenmp")
Run Code Online (Sandbox Code Playgroud)

避免将这些选项添加到链接器。它没有解决链接器行中显示的 CMAKE_CXX_FLAGS 的一般问题,但它解决了我遇到的直接问题。