我制作的NSIS插件可以包含C ++类,还是只能是C代码?
我正在开发一个NSIS插件作为Win32 DLL,但我在我的类声明的行文件中遇到编译错误。
编译错误是:
错误C2061:语法错误:标识符'MyClass'
导致编译错误的行是:
class MyClass
出了什么问题?我不允许Win32 DLL中的类?我正在使用MS Visual C ++ 2010进行编译。
答案 0 :(得分:0)
cl
命令行来控制它/Tc
和/Tp
)。但是,答案很简单。
如果源文件有.c
个扩展名,则编译为C.如果它有.cpp
扩展名,则编译为C ++。
此外,如果您将C ++构造(例如类)放在头文件中,并将#include
放在C文件中,您将会遇到同样的问题。您可以使用#ifdef __cplusplus
隐藏C语言中的C ++构造。