Linux下如何生成libOpenXLSX.so而非libOpenXLSX.a?
解决OpenXLSX编译生成共享库(.so)的问题
你遇到的问题是因为部分环境下CMake默认未启用共享库编译选项,即便官方文档说明默认生成共享库,静态库仍可能成为默认输出。解决方法是在CMake配置阶段显式指定生成共享库:
- 清除之前的build目录(避免缓存干扰),重新执行编译流程,在
cmake ..步骤添加-DBUILD_SHARED_LIBS=ON参数:
rm -rf build mkdir build cd build cmake .. -DBUILD_SHARED_LIBS=ON cmake --build . --target OpenXLSX --config Release cmake --install .
- 配置验证:如果之前已运行过CMake,可查看build目录下的
CMakeCache.txt文件,确认BUILD_SHARED_LIBS的值是否为ON。若不是,修改后重新编译即可。
若上述全局参数不生效,可尝试使用OpenXLSX项目专用的共享库编译开关:
cmake .. -DOPENXLSX_BUILD_SHARED_LIBS=ON
执行完上述步骤后,/usr/local/lib64目录下应生成libOpenXLSX.so文件。
内容的提问来源于stack exchange,提问作者Pavan Dittakavi
相关产品推荐
相关产品推荐

