我在使用cmake / gcc / Linux时遇到了问题。无论我怎么尝试,都不能从链接器行中删除CMAKE_CXX_FLAGS。当在链接模式下调用g++时,CMake会将它们传递下去。
我在CMAKE_CXX_FLAGS中添加了-fopenmp,但它不应该出现在链接行中,这样g++就不会链接到gomp(我正在使用英特尔的iomp5)。
编辑:我在CMakeLists.txt的开头试过以下内容,但没有帮助:
我在CMAKE_CXX_FLAGS中添加了-fopenmp,但它不应该出现在链接行中,这样g++就不会链接到gomp(我正在使用英特尔的iomp5)。
编辑:我在CMakeLists.txt的开头试过以下内容,但没有帮助:
set(CMAKE_CXX_LINK_EXECUTABLE
"<CMAKE_CXX_COMPILER> <FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>")
谢谢
CMAKE_CXX_LINK_EXECUTABLE
应该会有帮助。请展示您尝试的内容(以 [mcve] 的形式)。此外,如同对类似问题提出的建议,您可以使用COMPILE_FLAGS
属性来设置仅适用于编译器的选项。 - Tsyvarev