C++-Cmake指令:target_link_libraries
admin
2024-02-03 09:04:05
0

target_link_libraries:该函数声明了链接时需要参与的依赖库名称或target。其名称可包含完整路径。

命名的必须是由add_executable()或add_library()之类的命令创建的。

target_link_libraries命令的格式:

target_link_libraries( ... ... ...)
target_link_libraries(  ... [ ...]...)

例如:

target_link_libraries(sample PUBLIC CURL::curl glib m)

注意:由于一个target中包含多个属性,一般情况下包含了头文件路径。所以使用target作为参数传入此函数时,无需调用 target_include_directories 再次声明添加头文件路径。

案例

target_link_libraries(PUBLIC target target1 target2)
target_link_libraries(PUBLIC target3 target target4)
  • PUBLIC:表示target能够使用target1&target2库中的内容,target3 能够使用target1 & target2中定义的内容;默认状态为PUBLIC;
target_link_libraries(PRIVATE target target1 target2)
target_link_libraries(PRIVATE target3 target target4)
  • PRIVATE:表示target能够使用target1&target2库中的内容,target3不能使用target1&target2中定义的内容,只能使用target中定义的内容;
target_link_libraries(INTERFACE target target1 target2)
target_link_libraries(INTERFACE target3 target target4)
  • INTERFACE:表示target无法使用target1&target2的内容,但是target3 能够使用target1 & target2;

常用方式

经常的使用方式是

target_link_libraries(target Third_part_lib)

Third_part_lib参数,每个第三库会进行定义,具体的名称可以找到库的说明文档进行查看。

target_link_libraries(target ${OpenCV_LIBS})

作用域说明

target1:
#include “opencv” 
cv::imwait(0);target2: 
#include “opencv” 
cv::imwait(0); 
cv::imwrite();target4: 
#include “opencv” 
cv::imwait(0); 
cv::imwrite();target_link_libraries(target1 OpenCV)
target_link_libraries(target target1 target2)
target_link_libraries(target3 target target4)

target2和target4能使用imwait(0),但是不能使用imwrite(),除非在target2和target4的CMakeLists中添加target_link_libraries(target2/4 OpenCV);

#Cmake#__target_link_libraries函数的使用说明_caofolinzi的博客-CSDN博客

CMake教程系列-04-编译相关函数 - 知乎

CMake的add_library与target_link_libraries_物随心转的博客-CSDN博客

相关内容

热门资讯

确切!青岛化工现货交易平台正规... 确切!青岛化工现货交易平台正规吗?把我骗惨了!骗局揭秘曝光老师无良喊单!被广告宣传给诱导,注册就送什...
确凿!华闻期货正规吗?骗局经历... 确凿!华闻期货正规吗?骗局经历大曝光!亏损的太惨了被广告宣传给诱导,注册就送什么现金,然后充值返现金...
确凿!青岛化工现货交易平台正规... 确凿!青岛化工现货交易平台正规吗?骗局真相大曝光!骗局亏损原因令人震惊!被广告宣传给诱导,注册就送什...
迅速!东方汇金期货正规吗?骗局... 迅速!东方汇金期货正规吗?骗局内幕!亏损惨重背后真相曝光!被广告宣传给诱导,注册就送什么现金,然后充...
长沙 房屋鉴定 长沙是中国中南地区的一座重要城市,随着城市的快速发展,房屋市场也逐渐繁荣。然而,伴随着房屋交易的增加...
原创 “... [月亮]很多人应该都注意到了,像无印良品、宜家、优衣库等这些曾经辉煌的零售巨头,已经被中产抛弃了,现...
确切!盛通四方农产品现货正规吗... 确切!盛通四方农产品现货正规吗?骗局亏损有内幕!大曝光!真实经历告诉你!被广告宣传给诱导,注册就送什...
金风科技H股盘中涨超8% 港股... 上证报中国证券网讯(林铭溱 记者 唐燕飞)9月26日,金风科技H股开盘跌0.23%,随后震荡上行,盘...
迅速!贵州茶叶交易所正规吗?骗... 迅速!贵州茶叶交易所正规吗?骗局真相大曝光!骗局亏损原因令人震惊!被广告宣传给诱导,注册就送什么现金...
迅速!华闻期货正规吗?骗局亏损... 迅速!华闻期货正规吗?骗局亏损严重真相揭秘!骗局可以挽回!被广告宣传给诱导,注册就送什么现金,然后充...
确切!西藏锦绣商品现货正规吗?... 确切!西藏锦绣商品现货正规吗?骗局经历大曝光!亏损的太惨了被广告宣传给诱导,注册就送什么现金,然后充...
迅速!东方汇金期货正规吗?骗局... 迅速!东方汇金期货正规吗?骗局经历大曝光!亏损的太惨了被广告宣传给诱导,注册就送什么现金,然后充值返...
确凿!盛通四方农产品现货正规吗... 确凿!盛通四方农产品现货正规吗?骗局亏损内幕大揭秘!受害者亲身经历曝光!被广告宣传给诱导,注册就送什...
迅速!先锋期货正规吗?骗局亏损... 迅速!先锋期货正规吗?骗局亏损大爆光!内幕让人愤怒不已被广告宣传给诱导,注册就送什么现金,然后充值返...
迅速!东方汇金期货正规吗?骗局... 迅速!东方汇金期货正规吗?骗局揭秘!操作亏损是骗局了!被广告宣传给诱导,注册就送什么现金,然后充值返...
确凿!先锋期货正规吗?骗局真相... 确凿!先锋期货正规吗?骗局真相大曝光!受害者骗局大揭秘!被广告宣传给诱导,注册就送什么现金,然后充值...
海特高新涨3.44%,成交额3... 来源:新浪证券-红岸工作室 9月24日,海特高新涨3.44%,成交额3.01亿元,换手率3.33%,...
星巴克宣布将在美国和加拿大关闭... 美国咖啡连锁企业星巴克25日宣布,该公司将在美国和加拿大关闭数百家门店,并裁员900人左右。根据星巴...
确切!贵州茶叶交易所正规吗?骗... 确切!贵州茶叶交易所正规吗?骗局大揭秘!亏损真相大曝光!被广告宣传给诱导,注册就送什么现金,然后充值...
迅速!先锋期货正规吗?骗局亏损... 迅速!先锋期货正规吗?骗局亏损严重真相揭秘!原因令人大吃一惊!被广告宣传给诱导,注册就送什么现金,然...