Clion中构建项目时报错:undefined reference to `xxxx‘

1、头文件没添加

在CMakeLists.txt中添加如下,/xx/xxx/xxxxx/xxxxx/自行替换成所需的头文件路径,如果头文件在项目中使用相对路径即可,如果不在项目中使用绝对路径

include_directories(
        /xx/xxx/xxxxx/xxxxx/
)

2、库文件未添加

2.1 添加库文件路径

在CMakeLists.txt中添加如下,/xx/xxx/xxxxx/xxxxx/自行替换成所需的库文件路径,如果库文件在项目中使用相对路径即可,如果不在项目中使用绝对路径

link_directories(
        /xx/xxx/xxxxx/xxxxx/
)

2.2 链接使用的库

在CMakeLists.txt中添加如下,/xx/xxx/xxxxx/xxxxx/自行替换成所需的库文件路径,如果库文件在项目中使用相对路径即可,如果不在项目中使用绝对路径

target_link_libraries("项目名" 
        xxx //库名称
        yyy	//库名称
)

项目名:C++的项目名
库名称:例如我要链接的库是libopencv_core.so,将上面的xxx写成opencv_core即可


Q:
构建时报错:
error while loading shared libraries: xxx.so: cannot open shared object file: No such file or directory,而且该库已经包含在目录中了。
A:
首先使用ldd /path/to/项目命令查看该项目依赖的哪个库没有找到,发现libtbb.so.12没有找到。在这里插入图片描述

使用sudo ldconfig /包含库的目录/命令来更新缓存,就可找到了
在这里插入图片描述

  • 9
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值