我已经在Visual Studio中设置了一个项目来创建.dll。我在项目中包括了一个使用关键字“接口(interface)”的外部库。这给了我以下错误:
这些是发生错误的代码行:
#ifndef __INuiAudioBeam_FWD_DEFINED__
#define __INuiAudioBeam_FWD_DEFINED__
typedef interface INuiAudioBeam INuiAudioBeam; //Error on this line
#endif
上面的代码是我包含的外部库中头文件的一部分。在不包含库头的情况下,编译时项目成功构建,没有任何错误(注意:链接库不会引起任何问题)。
有什么解决方案?是因为我使用了外部库来创建dll吗?我应该创建一个.lib而不是一个dll吗?
最佳答案
如果其他人对此进行搜索,则很可能是问题所在
#define WIN32_LEAN_AND_MEAN
之前
#include <windows.h>
删除定义,确保包含Windows.h,并且应该为您定义interface关键字