首页 > 解决方案 > CMake - 将预建库链接到 C# 项目

问题描述

我正在用 CMake 构建一个 C# 库。该库依赖于已构建的库 (.dll)。

我似乎无法让图书馆链接到我的图书馆。

我试过使用target_link_libraries(mylib ${external_lib}). 我也尝试过强制 a/reference:${external_lib}作为编译选项(但 CMake 在构建时将其删除)。

我怎样才能用 CMake 做到这一点?

通常在 VS C# 项目文件中,您会添加:

<Reference Include="somelibrary">
    <HintPath>path/to/some/library</HintPath>
</Reference>

标签: c#cmake

解决方案


据此您应该能够VS_DOTNET_REFERENCE_<refname>在目标上设置属性mylib,如下所示:

set_target_properties(mylib PROPERTIES 
    VS_DOTNET_REFERENCE_somelibrary "/path/to/libs/somelibrary.dll")

确保不仅提供库的路径,还提供完整的库名称somelibrary.dll


推荐阅读