target_link_libraries能加路径
时间: 2023-10-09 08:17:13 浏览: 60
可以使用target_link_libraries命令添加库的路径。在CMakeLists.txt文件中,可以使用以下语法来指定库路径:
target_link_libraries(target_name PRIVATE /path/to/library)
这将使得指定的库路径对于目标可见。你可以根据需要使用PUBLIC或INTERFACE替代PRIVATE来定义库的可见性。
相关问题
target_link_directories在target_link_libraries之前为什么还有链接到其它路径的库
在使用CMake构建项目时,target_link_directories用于指定目标(target)链接依赖库的路径。它可以指定链接库的搜索路径,但它并不会链接库。因此,在使用target_link_directories之后,我们还需要使用target_link_libraries来将库链接到目标中。
在使用target_link_directories之后,我们可以在target_link_libraries中链接到指定路径下的库。这是因为target_link_libraries会在执行链接操作时搜索指定路径下的库,以便将它们链接到目标中。
所以,target_link_directories和target_link_libraries的使用顺序并不影响链接操作的执行顺序。我们可以先指定链接库的路径,然后再链接库,也可以同时指定链接库的路径和链接库。
cmake中target_link_options和target_link_libraries的区别
`target_link_libraries` 用于将一个或多个库链接到目标中,同时可以指定库的路径和链接方式等参数。例如:
```
target_link_libraries(myapp PRIVATE foo bar)
```
其中,`myapp` 是一个目标,`foo` 和 `bar` 是要链接的库。
`target_link_options` 用于向链接器传递额外的链接选项,比如 `-L`,`-l`,`-Wl`,`-Xlinker` 等。例如:
```
target_link_options(myapp PRIVATE -Wl,-rpath,/path/to/lib)
```
其中,`myapp` 是一个目标,`-Wl,-rpath,/path/to/lib` 是要传递给链接器的选项。
因此,`target_link_libraries` 用于链接库,而 `target_link_options` 用于传递链接选项。
阅读全文