CMakeLists link_libraries
时间: 2023-07-09 14:19:01 浏览: 36
在CMake中,link_libraries命令用于将一个或多个库文件链接到目标中。它的语法如下:
```
link_libraries(library1 library2 ...)
```
其中,library1、library2等参数是需要链接的库文件的名称。这些库文件可以是系统提供的库文件,也可以是自己编写的库文件。
link_libraries命令会将指定的库文件链接到所有目标中。如果只想将某个库文件链接到特定目标中,可以使用target_link_libraries命令。
例如,以下代码将库文件libfoo.a和libbar.a链接到所有目标中:
```
link_libraries(foo bar)
```
需要注意的是,link_libraries命令必须在add_executable或add_library命令之前调用。
相关问题
cmakelists link_libraries
cmakelists中的link_libraries命令用于将库链接到稍后添加的所有目标。它的语法格式如下:link_libraries([item1 [item2 [...]] [[debug|optimized|general <item>] ...)。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [CMake中link_libraries的使用](https://blog.csdn.net/fengbingchun/article/details/128518581)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [【cmake】CMakeList添加库|添加头文件|添加路径|add_executable、add_library、target_link_libraries|添加...](https://blog.csdn.net/weixin_42319496/article/details/125940679)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
cmakelists link_libraries target_link_libraies
在CMakeLists.txt文件中,出现了错误信息"Cannot specify link libraries for target 'FilterSamesetBasic' which is not built by this project"。根据引用提供的信息,这个错误通常是因为在目标"FilterSamesetBasic"不存在于该项目中,所以不能指定链接库。
如果您想链接自己路径下的OpenCV库,可以参考引用中提供的方法。在CMakeLists.txt中,可以使用add_library命令将源文件生成一个库,并使用target_link_libraries命令将该库链接到目标上。例如,可以使用以下命令将名为"libsugan"的库链接到目标上:
```
add_library(libsugan ${SRC_LISTS})
target_link_libraries(libsugan ${OpenCV_LIBS} ${PROJECT_SOURCE_DIR}/lib/libCommonUtilities.so ${PROJECT_SOURCE_DIR}/lib/libInuStreams.so)
```
这样就将libsugan库链接到目标上,并且链接了OpenCV库、libCommonUtilities.so和libInuStreams.so等其他库。更多关于CMake的使用可以参考引用中的文章。
总结:在CMakeLists.txt中,可以使用target_link_libraries命令将库链接到目标上,并使用add_library命令生成库。引用提供了解决链接库错误的问题,而引用和引用提供了使用CMake链接自己路径下的库的方法。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [cmake 解决错误:Cannot specify link libraries for target](https://blog.csdn.net/WAN_EXE/article/details/70307692)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [【cmake】CMakeList添加库|添加头文件|添加路径|add_executable、add_library、target_link_libraries的...](https://blog.csdn.net/weixin_42319496/article/details/125424628)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]