2017-11-30 25 views
0

cmake/gcc/Linux에 문제가 있습니다.CMake - 링커 명령 줄에서 CMAKE_CXX_FLAGS를 피하는 방법

아무리 노력해도 링커 라인에서 CMAKE_CXX_FLAGS를 제거 할 수 없습니다. CMake는 링크 모드에서 g ++을 호출 할 때 그것들을 계속 전달합니다.

내 CMAKE_CXX_FLAGS에 -fopenmp가 있고 연결선에 g ++이 연결되어 있지 않아야합니다 (대신 Intel의 iomp5를 사용하고 있습니다).

편집 :

+0

'CMAKE_CXX_LINK_EXECUTABLE'을 재정의하면 도움이됩니다. 시도한 것을 보여주십시오 ([mcve] 형태로). 또한 비슷한 질문에 대해 [답변에서] 제안 된대로 컴파일러 전용 옵션에는'COMPILE_FLAGS' ** 속성 **을 사용할 수 있습니다. – Tsyvarev

답변

0

add_compile_options("-fopenmp") 

링커에이 옵션을 추가 피할 밝혀

set(CMAKE_CXX_LINK_EXECUTABLE 
    "<CMAKE_CXX_COMPILER> <FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>") 

감사 : 나는 CMakeLists.txt의 시작 다음, 도움이되지 않았다 시도 . 링커 라인에 나타나는 CMAKE_CXX_FLAGS의 일반적인 문제는 해결되지 않지만 내가 가진 즉각적인 문제는 해결됩니다.