ubuntu使用cmake编译c++为so
时间: 2024-12-13 13:18:04 浏览: 21
Ubuntu下最简单的Cmake编译C和C++程序的例子
Ubuntu 使用 CMake 编译 C++ 为共享库 (SO) 的步骤如下:
1. **安装必要的工具**:
首先,你需要确保已安装了基本的开发工具包,包括 `gcc`、`g++` 和 `cmake`。可以使用以下命令检查并安装(如果缺失的话):
```
sudo apt update
sudo apt install cmake build-essential g++ libssl-dev
```
2. **创建 CMakeLists.txt**:
创建一个名为 `CMakeLists.txt` 的文件,这是 CMake 的配置文件。通常,它会包含项目的基本信息和编译选项。例如:
```cmake
cmake_minimum_required(VERSION 3.10)
project(MyProject)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED True)
add_library(mylib src/main.cpp src/myfunction.cpp)
target_link_libraries(mylib ${OPENSSL_LIBRARIES})
```
这里假设 `src/main.cpp` 和 `src/myfunction.cpp` 是你的源文件,并且依赖于 OpenSSL。
3. **配置目录结构**:
将源代码放在 `src` 文件夹下,然后将 `CMakeLists.txt` 放在根目录。例如:
```
├── CMakeLists.txt
└── src
├── main.cpp
└── myfunction.cpp
```
4. **生成构建文件**:
在根目录下运行 `cmake` 命令来配置项目:
```
cd /path/to/your/project
mkdir build
cd build
cmake ..
```
5. **编译和安装**:
接着,你可以使用 `make` 来编译 SO 文件,然后使用 `sudo make install` 来将其安装到系统目录:
```
make
sudo make install
```
6. **链接库**:
编译其他程序时,需要添加 `-lmylib` 选项链接你的库,如:
```
g++ your_program.cpp -o your_program -L/usr/lib/x86_64-linux-gnu -lmylib
```
阅读全文