cmakeを使用してC++/CLIプロジェクトを設定しようとしています。私は、Visual Studio 2010でこれをやって成功を収めているが、私は今のVisual Studio 2010でのVisual Studio 2008を必要とするレガシー溶液で働いています、このように私の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でプロジェクトを調べると、すべての参照が表示され、「Common Language Runtime Support」が有効になっています。私はVisual Studio 2008でそれを試してみると、私は参照が表示されません、プロジェクトは "共通言語ランタイムサポートなし"に設定私はコンパイラのオプションを見て、私は/ clrがコンパイラに渡されていることがわかります。しかし、私はまだそれが参照が不足しているため、おそらく多くのコンパイラエラーが発生します。誰もこれを正しく設定する方法を知っていますか?
あなたはこれを理解しましたか?私は同じ問題を抱えています(VS 2008でCLRフラグを設定できません)。 – Kohanz
私たちはあきらめていませんが、それは2008年に壊れているように思えますが、もしあなたが何かを見つけたら教えてください。 –
私は/ CLRフラグの設定が機能することを発見しました。 VS2008プロパティページはこのオプションを選択しませんが、DLLは実際に/ clrとしてコンパイルされます。 – Kohanz