Ubuntu22.04下编译googletest源代码生成.so动态库
Ubuntu22.04下编译googletest源代码生成.so动态库
默认情况下,googletest(gtest)只会生成静态库(.a)。如果你想生成动态库(.so),可以在编译时添加如下参数:
-
- 下载并解压googletest-1.17.0源码
googletest-1.17.0
源代码下载地址为:
https://github.com/google/googletest/releases/download/v1.17.0/googletest-1.17.0.tar.gz
或者直接下载最新googletest源代码:
git clone https://github.com/google/googletest.git
-
- 使用CMake生成动态库
在构建目录下执行:
- 使用CMake生成动态库
mkdir build && cd build
cmake -DBUILD_SHARED_LIBS=ON ..
make
sudo make install
-DBUILD_SHARED_LIBS=ON 这个参数会让CMake生成.so动态库而不是.a静态库。
编译完成后
在lib目录下会看到libgtest.so和libgtest_main.so等动态库文件。
总结:
只需在CMake配置时加上-DBUILD_SHARED_LIBS=ON
即可生成.so动态库。