cmake处理dllexport十分方便,总体分两步。
在cmake文件中配置宏
GENERATE_EXPORT_HEADER是cmake提供的函数,用来生成dllexport头文件。使用方法如下:
GENERATE_EXPORT_HEADER( myDLL # dll文件名
EXPORT_MACRO_NAME MYDLLExports # export 宏
EXPORT_FILE_NAME ${CMAKE_BINARY_DIR}/include/myDLLExports.h #宏的保存文件
)
list( APPEND src # 编译文件名的列表
${CMAKE_BINARY_DIR}/include/myDLLExports.h #刚使用cmake生成的export宏文件
)
在C++代码中引用
#include "myDLLExports.h"
class MYDLLExports A {
// definition
}
之后在其他dll里就可以引用类A了。