cmake 命令 链接静态库
时间: 2023-07-12 16:56:01 浏览: 64
要在 CMake 中链接静态库,你可以使用 `target_link_libraries` 命令。具体步骤如下:
1. 使用 `add_executable` 或 `add_library` 命令创建一个可执行文件或库;
2. 使用 `target_link_libraries` 命令将可执行文件或库与静态库链接起来。
示例代码如下:
```
# 添加可执行文件
add_executable(myapp main.cpp)
# 添加静态库
add_library(mystaticlib STATIC lib.cpp)
# 链接静态库到可执行文件
target_link_libraries(myapp PRIVATE mystaticlib)
```
在这个示例中,我们创建了一个名为 `myapp` 的可执行文件和一个名为 `mystaticlib` 的静态库。我们使用 `target_link_libraries` 命令将 `mystaticlib` 链接到 `myapp` 中。最后,我们需要在 CMakeLists.txt 文件中添加这些命令。
相关问题
cmakelist链接静态库
在 CMake 中链接静态库,可以使用 `target_link_libraries` 命令。假设你已经编译好了一个静态库 `libfoo.a`,你需要在 CMakeLists.txt 中添加以下代码:
```
add_executable(myapp main.cpp)
target_link_libraries(myapp /path/to/libfoo.a)
```
其中,`add_executable` 命令用于定义可执行文件 myapp,`target_link_libraries` 命令用于将静态库 libfoo.a 链接到 myapp 中。
另外,如果你的静态库是在当前项目中编译得到的,你可以使用 `add_library` 命令定义库,并将其链接到目标可执行文件中:
```
add_library(foo STATIC foo.cpp)
add_executable(myapp main.cpp)
target_link_libraries(myapp foo)
```
这样,当你编译 myapp 时,CMake 会自动编译 foo 并链接到 myapp 中。
cmake里面怎么链接静态库
在CMake中链接静态库通常有两种方式:
1. 使用target_link_libraries命令:
```
add_executable(myapp main.cpp)
target_link_libraries(myapp /path/to/libfoo.a)
```
这个命令将会链接一个名为libfoo.a的静态库到myapp可执行文件中。
2. 使用link_directories和link_libraries命令:
```
link_directories(/path/to/lib)
add_executable(myapp main.cpp)
target_link_libraries(myapp foo)
```
这个命令先使用link_directories命令设置静态库的搜索路径,然后使用target_link_libraries命令链接一个名为foo的静态库到myapp可执行文件中。
注意:在Windows系统中,静态库通常是以libxxx.lib的形式存在的,而在Linux系统中,静态库通常是以libxxx.a的形式存在的。如果使用的是Windows系统,需要在target_link_libraries命令中使用libxxx.lib的形式来链接静态库。