我有我试图在 cmake 中配置的 cli 包装器功能。在我使用 cmake 生成项目后,生成的 .proj 文件没有 clr 支持的属性设置为没有公共(public)语言运行时支持。下面是我的 cmake 文件
# This is the root ITK CMakeLists file.
cmake_minimum_required(VERSION 2.8.9)
if(COMMAND CMAKE_POLICY)
cmake_policy(SET CMP0003 NEW)
endif()
set_target_properties(${TargetName} PROPERTIES COMPILE_FLAGS "/clr")
SET(LINK_LIBRARIES
D:\\2016\\RandomSlicing\\Processing\\lib\\obliquePlane.lib
)
# The header files
SET(HEADERS
ObliquePlaneWrapper.h
obliquePlane.h
)
# The implementation files
SET(SOURCES
ObliquePlaneWrapper.cpp
)
# Find ITK.
find_package(ITK REQUIRED)
include(${ITK_USE_FILE})
# Add this as include directory
INCLUDE_DIRECTORIES(
${CMAKE_SOURCE_DIR}
${SOURCE_PATH}
${VXL_INCLUDE_DIRS}
)
# Main library
#ADD_EXECUTABLE(obliquePlane ${HEADERS} ${SOURCES})
ADD_LIBRARY(ObliquePlaneWrapper SHARED ${HEADERS} ${SOURCES})
TARGET_LINK_LIBRARIES(ObliquePlaneWrapper ${LINK_LIBRARIES} ${ITK_LIBRARIES})
我在All_build项目和对应的.proj文件中手动设置了这个属性。当我构建项目时,它正在搜索它应该生成的 ObliquePlaneWrapper.dll。这是一个问题,因为没有为公共(public)语言运行时支持设置一些标志
最佳答案
您可以手动向特定源提供编译标志,以便使用特定标志进行编译。这包括用于 Visual C++ 的\CLR。请参阅此处的示例。
关于c++ - Cmake 托管 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40109200/