我已经创建了一个DLL文件,并在头文件中看到:

#ifdef WIN32DLL_EXPORTS


我不明白这是什么意思,以及我们在哪里/如何设置WIN32DLL_EXPORTS

如果我使用:

#ifdef WIN32DLL_EXPORTS
    #define WIN32DLL_API __declspec(dllexport)
#else
    #define WIN32DLL_API __declspec(dllimport)
#endif

WIN32DLL_API int testSum(void);


testSum被视为__declspec(dllimport)。所以我认为我的项目未设置为WIN32DLL_EXPORTS?我该如何更改?

最佳答案

您可以:


在项目的WIN32DLL_EXPORTS定义中定义Properties > Configuration Properties > C/C++ > Preprocessor > Preprocessor
如果您使用预编译的标头(例如stdafx.h),则还可以使用WIN32DLL_EXPORTS语句在其中定义#define

关于c++ - #ifdef WIN32DLL_EXPORTS是什么意思?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19814316/

10-11 19:33