c++ cmake构建的项目在使用ecal和protobuf的时候编译过程报ArenaString、FileDescriptor等无法解析的外部符号错误
查找了很多官网和github上很多资料都没有提及相关的内容。
在windows编译protobuf后,cmake连接找不到符号 - 简书
上提及要使用config模式
设置了config模式后仍没解决,反而报了其他错误。后来在参考链接中 https://github.com/protocolbuffers/protobuf/issues/12292提及了cmake怎么使用protobuf的链接
FindProtobuf — CMake 3.30.0-rc2 Documentation
里面说到一个Protobuf_USE_STATIC_LIBS变量,将protobuf设置为静态库,想到所报的错误都是关于_declspec(dllimport)符号导出相关的,于是在cmake项目配置过程中加入了Protobuf_USE_STATIC_LIBS变量,再次构建和编译,解决了问题。