首页 > 其他分享 >CMakeLists --- 设置rpath_link方法 编译报错try using -rpath or -rpath-link)

CMakeLists --- 设置rpath_link方法 编译报错try using -rpath or -rpath-link)

时间:2023-06-16 18:01:40浏览次数:46  
标签:rpath LINKER 编译 add 报错 test link

指令:add_link_options("LINKER:-rpath-link,${THIRD_LIBS_DIR}")

THIRD_LIBS_DIR:需要链接的库的目录

作用:编译生成一个可执行文件时,依赖一个动态库A,动态库A同时又依赖动态库B.如果我们没有显示集成动态库B时,链接器会去-rpath-link设置的目录中寻找依赖项。

 

例子:

1.库A,依赖库B

cmake_minimum_required(VERSION 3.9)

project(alib)

add_library(A SHARED a.cpp)
target_link_libraries(A B)

2.程序test,依赖库A

cmake_minimum_required(VERSION 3.9)

project(test)
  #add_link_options("LINKER:-rpath-link,${B_PATH}")
add_executable(test test.cpp)
target_link_libraries(test A)

如上,编译时会提示找不到库B。类似于这种:

 

可以通过加上add_link_options("LINKER:-rpath-link,${B_PATH}"),指定B的位置。也可以直接把库B放到库A的同级目录下。

 

标签:rpath,LINKER,编译,add,报错,test,link
From: https://www.cnblogs.com/linxisuo/p/17486196.html

相关文章

  • Flink提交任务命令整理
     环境:Flink1.13.6和Flink1.14.4yarn-session模式:--启动yarnseeionbin/yarn-session.sh\-s8\-jm4g\-tm16g\-nmyarn-session-flink\-dyarn-session.sh-jm1g-tm8g-s4-d参数解释:-jm1024表示jobmanager1024M内存-tm1024表示taskmanager......
  • 字符串数组不能转化对象数组,jsonArray也转化报错
    刚开始写法------错误JSONArrayjsonArray=(JSONArray)this.getJsonFilter().get("ids");PltPayDuesModel[]payDuesModels=(PltPayDuesModel[])jsonArray.toArray();报这个[Ljava.lang.Object;cannotbecastto[Ljava.lang.String;由于无法直接,因此需要曲线救国......
  • Spring 报错 There is no DataSource named ‘null‘
    关于Java.sql.SQLException:ThereisnoDataSourcenamed‘null’报错解决  解决方法一:这是由于SpringBoot在2.5.6版本之后就删除了关于Quartz相关的以来。所以在2.5.6版及之前还是可以用的。解决方法二:将quatz.propeties文件中org.quartz.jobStore.class=org.qua......
  • MySQL报错1406_MySQL #1406 Data too long错误
    造成这个错误有两种可能1)仔细检查sql语句是不是插入值颠倒了位置2)java端与mysql表编码不一致:1.修改Server端编码。修改character_set_xxx2.在JDBC-URL连接后面加上&useUnicode=true&characterEncoding=UTF83.修改my.ini文件去掉sql-mode="STRICT_TRANS_TABLES,NO_A......
  • suse12操作系统普通用户报错error while loading shared libraries: libcap.so.2: can
    1、故障描述linux主机普通用户执行ping命令报错ping:errorwhileloadingsharedlibraries:libcap.so.2:cannotopensharedobjectfile:permissiondenied2、故障原因 超级用户修改了根目录权限为655 3、解决方案chmod755/ ......
  • aapium报错 An unknown server-side error occurred while processing the command.
    现象:1、appium日志存在报错信息:(1)中间:adbfailedtostartdaemon*(2)结尾:POST/wd/hub/session500287ms2、appium图形界面设置参数后,点击startsession报错提示Anunknownserver-sideerroroccurredwhileprocessingthecommand.Originalerror:Couldnotfindaconn......
  • 报错:resolution will not be reattempted until the update interval of XXX has elap
     含义:在XXX的更新间隔过去或强制更新之前,不会重新尝试解析。如果你去本地的maven仓库,你会发现,其只有lastUpdate结尾的文件,没有jar包。这个时候,你无论怎么点击IDEA中的ReimportsAllMavenProjects都是没有用的。原因上面也说了,要么等更新时间过去,要么强制更新。maven的默认......
  • 高德地图 报错 USERKEY_PLAT_NOMATCH
    查过文档后发现    ......
  • HashSet、LInkedHashSet的使用和特点
    HashSet的使用Java中的HashSet是CollectionsFramework中的一个类。它允许您使用哈希表在集合中存储多个值。哈希表借助哈希机制以无序的方式存储值。导入java.util.HashSet包后,以下是在Java中创建HashSet的语法:HashSet<data_type>name=newHashSet(capacity,lo......
  • Flink1.13.6 部署踩坑记录
    环境  Hadoop集群是Ambari2.7.5的版本   Flink是1.13.6_2.12的版本问题记录  1.缺少jar包报错:ERRORorg.apache.flink.yarn.cli.FlinkYarnSessionCli[]-ErrorwhilerunningtheFlinksession.java.lang.NoClassDefFoundError:com/sun/jerse......