如何使用C++静态库编译C#应用程序?

问题描述 投票:0回答:5

我将我的C++动态链接库变成静态库只是为了获取更多知识。 我的问题是如何使用 .obj 文件通过 C# Express/MS Visual Studio 编译这两个项目?

c# c++ static
5个回答
31
投票

不,您不能直接从 C# 访问静态库。您必须使用DLL。


19
投票

在 C# 中“使用”静态库的方法是首先创建一个托管 C++ 包装器,该包装器将为托管世界的其余部分提供外观。正如其他人已经评论过的那样,C# 仅支持 P/Invoke 的 DLL。


5
投票

“静态库”意味着该库将与您的最终应用程序合并。 .net 中不存在这个概念。 .net 仅支持 DLL。


1
投票

没办法这么做。

仅在运行时调用 DLL 函数或从库中创建 COM 对象


0
投票

更新过时的答案。如果使用 IL2CPP 脚本后端而不是 Mono,现在可以链接静态库,因为 IL2CPP 使用提前编译,而 Mono 使用即时编译。

© www.soinside.com 2019 - 2024. All rights reserved.