CMAKE 只生成静态库命令
时间: 2023-07-25 20:27:34 浏览: 51
要在 CMake 中只生成静态库,你可以使用 `add_library` 命令并指定 `STATIC` 选项。以下是一个示例:
```
add_library(MyLibrary STATIC source.cpp)
```
在这个示例中,我们使用 `add_library` 命令来创建一个名为 `MyLibrary` 的静态库,并将 `source.cpp` 文件添加到静态库中。我们还指定了 `STATIC` 选项来确保只生成静态库。
如果你想要同时生成动态库和静态库,可以使用 `add_library` 命令并指定 `SHARED` 选项来创建动态库,例如:
```
add_library(MyLibrary STATIC source.cpp)
add_library(MyLibrary_shared SHARED source.cpp)
```
在这个示例中,我们使用 `add_library` 命令创建了一个名为 `MyLibrary` 的静态库和一个名为 `MyLibrary_shared` 的动态库,并将 `source.cpp` 文件添加到两个库中。
希望这可以帮助到你。如果你有任何其他问题,请随时问我。
相关问题
cmake 命令行 只生成 静态库
你可以在 CMake 的命令行中使用 `-DBUILD_SHARED_LIBS=OFF` 选项来指定只生成静态库。这个选项会将 `BUILD_SHARED_LIBS` 变量设置为 `OFF`,从而确保只生成静态库。
以下是一个示例命令:
```
cmake -DBUILD_SHARED_LIBS=OFF /path/to/source/directory
```
在这个命令中,将 `/path/to/source/directory` 替换为你的源代码目录路径。然后,CMake 会使用 `BUILD_SHARED_LIBS=OFF` 选项来生成一个只包含静态库的项目。
希望这可以回答你的问题。如果你有任何其他问题,请随时问我。
cmakelist生成静态库
可以使用以下CMake代码生成一个静态库:
```
cmake_minimum_required(VERSION 3.0)
project(my_static_library)
set(SOURCES
source1.cpp
source2.cpp
)
add_library(my_static_library STATIC ${SOURCES})
```
在这个例子中,我们首先指定了项目名称为“my_static_library”。然后,我们定义了一个SOURCES变量,它包含了要编译的源文件列表。最后,我们使用add_library命令创建一个名为“my_static_library”的静态库,并将SOURCES变量作为参数传递给它。
要使用这个静态库,可以将其链接到另一个项目中,如下所示:
```
cmake_minimum_required(VERSION 3.0)
project(my_project)
add_executable(my_program main.cpp)
target_link_libraries(my_program my_static_library)
```
在这个例子中,我们首先指定了项目名称为“my_project”。然后,我们使用add_executable命令创建一个名为“my_program”的可执行文件,并将main.cpp作为参数传递给它。最后,我们使用target_link_libraries命令将“my_static_library”静态库链接到“my_program”可执行文件中。