cmake를 사용하여 C++/CLI 프로젝트를 설정하려고합니다.C++/CLI 및 CMake
set_target_properties(${PROJECT_NAME} PROPERTIES VS_DOTNET_REFERENCES "${CMAKE_CURRENT_SOURCE_DIR}/../OrionMaster/3rdParty/GMap.NET.Core.dll;System;System.Core;System.Data;System.Drawing;System.Xml;WindowsBase")
set_target_properties(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "/clr /EHa")
set_target_properties(${PROJECT_NAME} PROPERTIES DEBUG_POSTFIX "d")
if(CMAKE_CXX_FLAGS_DEBUG MATCHES "/RTC1")
string(REPLACE "/RTC1" " " CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
endif()
if(CMAKE_CXX_FLAGS MATCHES "/EHsc")
string(REPLACE "/EHsc" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
endif()
때 : 내가 성공 비주얼 스튜디오 2010와 함께이 일을했다,하지만 지금은 비주얼 스튜디오 2010 비주얼 스튜디오 2008를 필요로하는 기존 솔루션으로 작업하고,이 같은 내 cmake를 설정하기에 충분 그런 다음 Visual Studio 2010 프로젝트를 검토하여 모든 참조를 볼 수 있으며 "공용 언어 런타임 지원"이 켜져 있습니다. Visual Studio 2008에서 시도 할 때 참조가 표시되지 않고 "No Common Language Runtime Support"로 설정됩니다. 컴파일러 옵션을 보면 컴파일러에/clr이 전달되는 것을 볼 수 있습니다. . 그러나 여전히 많은 참조가 부족하기 때문에 컴파일러 오류가 발생합니다. 누구든지 이것을 올바르게 설정하는 방법을 알고 있습니까?
혹시 이것을 알아 냈습니까? 나는 같은 문제 (VS 2008에서 CLR 플래그를 설정할 수 없다)가 있습니다. – Kohanz
우리가 포기하지 않았다면 2008 년 대에서 고장난 것처럼 보였습니다. –
비록/CLR 플래그를 설정하면 작동하는 것으로 나타났습니다. VS2008 속성 페이지는이 옵션을 선택하지 않지만 실제로 DLL은/clr로 컴파일됩니다. – Kohanz