我正在嘗試使用cmake設置C++/CLI項目。我已經成功與Visual Studio 2010中這樣做,但現在我有需要的Visual Studio 2008在Visual Studio 2010的傳統解決方案的工作,就足以建立我的CMake是這樣的: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()
當然後,我在Visual Studio 2010下檢查該項目,我可以看到所有參考和「公共語言運行時支持」已打開。當我在visual studio 2008中嘗試它時,我沒有看到任何引用,並且項目設置爲「No Common Language Runtime Support」如果我然後查看編譯器選項,可以看到/ clr正在傳遞給編譯器。但是我仍然遇到很多編譯錯誤,可能是因爲它缺少引用。有誰知道一種方法來正確設置它?
你有沒有想過這個?我遇到了同樣的問題(無法在VS 2008中設置CLR標誌)。 – Kohanz
不,我們放棄了,它似乎在vs 2008中被破解,讓我知道如果你想出點什麼 –
我發現設置/ CLR標誌確實有效。 VS2008屬性頁不會選擇此選項,但該DLL確實編譯爲/ clr。 – Kohanz