__declspec对visual studio工程的作用
visual studio的dll工程,默认不会生成配套的.lib文件,需要再头文件中定义导出的函数或类
#if defined(_WIN32)
#if defined(__RUNTIME_DLL__)
#define DLL_EXPORT __declspec(dllexport)
#else
#define DLL_EXPORT __declspec(dllimport)
#endif
#else
#define DLL_EXPORT
#endif
如果是cmake,在CMakeLists.txt中定义__RUNTIME_DLL__
开始dll的DLL_EXPORT宏
target_compile_definitions(libtest PRIVATE __RUNTIME_DLL__)