Estoy tratando de configurar un proyecto de C++/CLI utilizando cmake. He tenido éxito haciendo esto con Visual Studio 2010, pero ahora estoy trabajando con una solución legado que requiere Visual Studio 2008. En Visual Studio 2010, es suficiente para configurar mi cmake como esto:C++/CLI y 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()
Cuando Luego examino el proyecto en Visual Studio 2010, puedo ver todas las referencias y se activa el "Common Language Runtime Support". Cuando lo intento en Visual Studio 2008, no veo ninguna referencia, y el proyecto está configurado en "No Common Language Runtime Support". Si luego miro las opciones del compilador, puedo ver que/clr se está pasando al compilador . Sin embargo, todavía tengo muchos errores de compilación, probablemente porque le faltan referencias. ¿Alguien sabe una manera de configurar esto correctamente?
¿Alguna vez se dio cuenta de esto? Estoy teniendo el mismo problema (no se puede configurar el indicador CLR en VS 2008). – Kohanz
No nos dimos por vencidos, parece que está roto en comparación con 2008, avíseme si se resuelve algo aunque –
Encontré que la configuración del indicador/CLR funciona. Las páginas de propiedades de VS2008 no recogen esta opción, pero la DLL se compila de hecho como/clr. – Kohanz