__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__)

标签: cmake

添加新评论