cmake..-DBUILD_SHARED_LIBS=ON
时间: 2023-09-18 19:13:37 浏览: 295
这是一个使用 CMake 构建项目时的选项。`-DBUILD_SHARED_LIBS=ON` 表示要构建共享库(即动态链接库),而不是静态库。
CMake 是一个跨平台的开源工具,可以自动生成用于构建项目的 Makefile 或 Visual Studio 解决方案等。它支持多种编程语言,包括 C、C++、Java 和 Python 等。CMake 的配置文件是 CMakeLists.txt,其中定义了项目的源代码、依赖项、编译选项以及输出文件等信息。通过调用 `cmake` 命令并指定 CMakeLists.txt 所在目录,即可生成 Makefile 或 Visual Studio 解决方案等,然后再使用相应的构建工具进行编译。
相关问题
DBUILD_SHARED_LIBS
`DBUILD_SHARED_LIBS`是CMake中的一个变量,用于控制是否生成共享库(如.dll on Windows或.so on Unix-like systems)。默认情况下,如果未显式设置,CMake会根据平台和构建类型(如Debug、Release)自动选择是否生成共享库。
- 当`DBUILD_SHARED_LIBS`设为`ON`(或省略),CMake会生成可加载的共享库,这意味着库会被链接到其他程序作为动态链接,有利于减少程序大小和提高性能。
- 若设为`OFF`,则CMake倾向于生成静态库(`.a`, `.lib`或`.so`等),这种库包含所有依赖的代码,当应用程序需要该库时,会将整个库复制到其二进制文件中。
你可以通过以下方式设置这个变量:
```cmake
# 在CMakeLists.txt中设置
if (NOT DBUILD_SHARED_LIBS)
set(BUILD_TYPE Release) # 设置构建类型为非共享
endif()
# 或者在命令行上传递
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF .
```
ubuntu cmake jsoncpp
在Ubuntu上安装和配置jsoncpp需要执行以下步骤:
1. 克隆jsoncpp的源代码库到你的本地目录:
```
git clone https://github.com/open-source-parsers/jsoncpp.git
```
2. 创建一个构建目录并进入该目录:
```
mkdir jsoncpp-build
cd jsoncpp-build
```
3. 运行CMake以配置项目:
```
cmake ../jsoncpp -DCMAKE_BUILD_TYPE=release -DBUILD_STATIC_LIBS=ON -DBUILD_SHARED_LIBS=OFF -DARCHIVE_INSTALL_DIR=.
```
4. 使用make命令构建jsoncpp:
```
make
```
5. 使用sudo make install命令将jsoncpp安装到系统中:
```
sudo make install
```
6. 配置atom编辑器,使其能够使用jsoncpp库。在命令行中输入以下命令来获取jsoncpp的库链接信息:
```
pkg-config --libs jsoncpp
```
以上步骤将在Ubuntu上安装和配置jsoncpp。
阅读全文