Winbase.h不支持创建DLL文件

时间:2013-09-27 10:22:34

标签: c++ winapi visual-studio-2012

我想创建一个项目用来使用c#调用c ++方法。所以,我需要为我所有的c ++函数创建一个dll文件。但是当我在sqlite源代码中遇到错误时,例如“AreFileApisASNSI未声明的标识符”。所以,我导入winbase.h,它是mingw-w64运行时包的一部分到我的visual studio 2012 express DLL项目。导入文件后,我收到许多错误,如下所示: -

错误c4430:缺少类型说明符 - 假定为int。注意:C ++不支持default - int

错误C2143:语法错误:缺少';'在'_stdcall'之前

错误c1003错误计数超过100;停止编译

错误c2061:语法错误:标识符'WINBOOL'

错误c2086:'int_CRT_INLINE':重新定义

错误c2143:语法错误:缺少';'在''

之前

错误C2146:语法错误:缺少';'在标识符'LONGLONG'之前

错误C2146:语法错误:缺少';'在标识符“PVOID”之前

针对这些错误的任何解决方案?请帮助!!

1 个答案:

答案 0 :(得分:1)

该函数的documentation具有此标头要求:

  

WinBase.h(包括Windows.h)

这告诉您该函数已在WinBase.h中声明,但您应该包含Windows.h,而WinBase.h将包含#include <Windows.h> 。因此,您需要将包含更改为

{{1}}

我也想知道为什么你在考虑你的编译器是MSVC而mingw。该编译器附带了一个全面的Windows SDK。你为什么要使用mingw的SDK?