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