target_link_libraries 和link_libraries区别
时间: 2023-11-09 11:02:07 浏览: 189
linker and library
在CMake中,target_link_libraries和link_libraries都是用来链接库的命令,但是它们的作用范围不同。
link_libraries命令会将后面跟随的库链接到所有的目标中,而target_link_libraries命令只会将后面跟随的库链接到指定的目标中。
举个例子,如果我们有两个目标A和B,我们想要将库libfoo链接到这两个目标中,我们可以这样写:
```
link_libraries(libfoo)
add_executable(A ...)
add_executable(B ...)
```
这样,库libfoo就会被链接到A和B两个目标中。
但是如果我们只想将库libfoo链接到目标A中,我们可以这样写:
```
add_executable(A ...)
target_link_libraries(A libfoo)
add_executable(B ...)
```
这样,库libfoo就只会被链接到目标A中。
阅读全文