c++ - 如何从托管 C++ 调用非托管 dll

标签 c++ .net clr managed

我正在从托管 C++ 调用非托管 DLL。 DLL 具有多个 native 依赖项。我正在尝试通过 Visual Studio 对其进行编译。

我做了以下事情:

  1. 将包含 DLL 和 .lib 的目录添加到属性 -> VC++ 目录 -> 库目录

  2. 将非托管 .lib 添加到属性 -> 输入 -> 附加依赖项

但是,我得到了我引用的函数的链接错误。除了库的头文件,我没有向项目添加任何 DLL 或 lib。

更新: 所以它能够找到 .lib,因为如果我在附加依赖项中提供伪造的 .lib,我会得到 .lib 未找到的编译错误。我遇到的错误是“未解析的 token ....”。

最佳答案

我建议你好好读一读this .从 C# 调用 DLL 很简单,因为 .NET 支持它,而托管 C++ 只是另一种 .NET 实现,因此也应该很简单。

关于c++ - 如何从托管 C++ 调用非托管 dll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37715463/

相关文章:

c++ - For 循环遍历生长 vector

.net - 在 .NET 中将复杂的 boolean 条件从字符串转换为 boolean 值

c# - 使用 C# dll 的 Pythonnet 运行时错误(数据库不兼容)

.net - 编写使用 .NET 的语言的优点、缺点和困难

c# - 是否保证静态构造函数不被内联?

c++ - 如何添加对角概率霍夫线

vector 声明的 C++ vector

c++ - 在 3D 场景中存储模型位置的好方法是什么?

c# - 将指针数组转换为 IntPtr 数组

c# - Properties.Settings.Save() 仅在第一次调用时保存