我有一个头文件的C库。现在我想在C++中创建一个包装器,以便在.NET中使用它。当我包含库时,编译器会报告关于变量类型(DWORD,LPCSTR等)的语法错误。 总之,大概它认为,图书馆是C++而不是C.在C++中使用C库
我试图
extern "C"{
#include "c_lib.h"
}
,但没有成功。我正在使用Visual Studio 2010,所以也许应该对项目设置进行更改。
任何帮助将不胜感激。
问候。
我有一个头文件的C库。现在我想在C++中创建一个包装器,以便在.NET中使用它。当我包含库时,编译器会报告关于变量类型(DWORD,LPCSTR等)的语法错误。 总之,大概它认为,图书馆是C++而不是C.在C++中使用C库
我试图
extern "C"{
#include "c_lib.h"
}
,但没有成功。我正在使用Visual Studio 2010,所以也许应该对项目设置进行更改。
任何帮助将不胜感激。
问候。
你需要包括<windows.h>
,但我认为你做错了。您不需要创建一个C++包装来使用.NET库。您可以用C#直接调用所有需要调用的C函数DllImport
。
感谢大家,我用空项目,所以windows.h不包括在内,也在我的情况C++包装不是最好的解决方案,所以我最终使用DLLImport指令。 – autodev101 2013-05-15 13:42:57
'DWORD'和'LPCSTR'与C++无关。你可能会丢失一个头文件。 – 2013-05-14 13:57:49
你打算用C++/CLR来包装吗?如果没有,为什么你不能只导入C函数签名? – crashmstr 2013-05-14 13:58:04
你首先包含''吗? –
2013-05-14 13:58:07