在哪个cpp文件中使用的该动态库或静态库,就在该h/cpp文件所在的工程的预处理命令中添加库中的宏。
如有库工程add,其头文件如下
#ifndef _ADD_H #define _ADD_H #if defined( _WIN32 ) || defined( __MINGW32__ ) # if defined( ADD_EXPORTS ) # define ADD_EXPORT __declspec(dllexport) # elif defined( ADD_USE_DLL_IMPORT ) || !defined( ADD_USE_STATIC_LIB ) # define ADD_EXPORT __declspec(dllimport) # else # define ADD_EXPORT # endif ADD_EXPORT int add(int a, int b); #endif
则VS上编译动态库时,需要在add工程的预处理指令中增加ADD_EXPORTS。
另有测试工程test:若其要使用动态库中的add函数,则其工程中需要使用 ADD_USE_DLL_IMPORT 预处理指令。
时间: 2024-12-29 06:47:49