cmake .. \ -DCMAKE_POSITION_INDEPENDENT_CODE=ON \ -DCMAKE_INSTALL_PREFIX="/home/Apple/Libs/Standard_Library/Libraries/linux_gcc8.3" \ -DCMAKE_CXX_STANDARD=17 \ -DCMAKE_BUILD_TYPE=Debug \ -DBUILD_SHARED_LIBS=ON \ -DFMT_TEST=OFF CMAKE_POSITION_INDEPENDENT_CODE 这个参数貌似是真正变成动态库,只使用一份代码,而不是拷贝这个库。 这个参数在编译静态库的时候也需要,就是-fPIC,没有这个参数别的库链接这个静态库可能会报错 目前编译10.2.1可以成功,编译11.0.1报错,禁止编译TEST就可以编译成功了 编译成静态库 cmake .. \ -DCMAKE_POSITION_INDEPENDENT_CODE=ON \ -DCMAKE_INSTALL_PREFIX="/home/Apple/Libs/Standard_Library/Libraries/linux_gcc8.3_static" \ -DCMAKE_CXX_STANDARD=17 \ -DCMAKE_BUILD_TYPE=Release \ -DBUILD_SHARED_LIBS=OFF \ -DFMT_TEST=OFF