【问题标题】:Use C library in C++在 C++ 中使用 C 库
【发布时间】:2013-05-14 13:55:54
【问题描述】:

我有一个带有头文件的 C 库。现在我想用 C++ 制作一个包装器,以便在 .NET 中使用它。当我包含该库时,编译器会报告有关变量类型(DWORD、LPCSTR 等)的语法错误。 简而言之,可能它认为该库是 C++ 而不是 C。

我试过了

extern "C"{

  #include "c_lib.h"

}

但没有成功。我正在使用 Visual Studio 2010,所以也许应该对项目设置进行更改。

我们将不胜感激。

问候。

【问题讨论】:

  • DWORDLPCSTR 与 C++ 无关。您可能缺少一个头文件。
  • 你打算用 C++/CLR 包装它吗?如果没有,为什么不能只导入 C 函数签名?
  • 是否首先包含<windows.h>

标签: c++ .net c visual-studio


【解决方案1】:

您需要包含<windows.h>,但我认为您做错了。您无需创建 C++ 包装器即可使用 .NET 中的库。你可以DllImport所有你需要调用的C函数,直接在C#中。

Using the DllImport Attribute

【讨论】:

  • 感谢大家,我使用了空项目,因此不包括 windows.h,在我的情况下,C++ 包装器也不是最好的解决方案,所以我最终使用 DLLImport 指令。
猜你喜欢
  • 2023-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多