【发布时间】:2019-09-04 03:21:29
【问题描述】:
我正在尝试使用 CMake 构建 C# DLL。为此,我需要在项目中添加一个第三方.dll,以便我可以使用它的一些我需要的功能。
问题是,我可以访问图书馆,甚至不能
using Namespace;
有效,因为 Namespace 无法识别。
# cmake version
cmake_minimum_required (VERSION 3.8)
# project
project ("VILAPI" CSharp)
# include directories
set(CMAKE_INCLUDE_CURRENT_DIR ON)
# source and library output paths and directories
set(SRCS_VILAPI "./src/main.cs")
set(OUT_DIR ${CMAKE_HOME_DIRECTORY}/bin)
# actual building process
add_library (${project} SHARED ${SRCS_VILAPI})
set_property(TARGET ${project} PROPERTY DOTNET_TARGET_FRAMEWORK_VERSION "v4.0")
set_property(TARGET ${project} PROPERTY WIN32_EXECUTABLE FALSE)
set_property(TARGET ${project} PROPERTY VS_CONFIGURATION_TYPE ClassLibrary)
set_property(TARGET ${project} PROPERTY VS_DOTNET_REFERENCES
"System"
"./lib/Vector.CANoe.TFS.dll"
)
set_target_properties(${project} PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${OUT_DIR})
set_target_properties(${project} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${OUT_DIR})
CMake 不会引发错误。我也尝试通过以下方式添加它:
set_property(TARGET ${project} PROPERTY VS_DOTNET_REFERENCE_Vector.CANoe.TFS.dll "./lib/Vector.CANoe.TFS.dll")
这是在stackoverflow的答案中提出的,但它仍然不起作用。
【问题讨论】: