linux 下使用相对路径的动态库链接

在做实验的时候,使用了动态链接库,比如mysql 的mysqlclient 使用到了lib/的动态库

使用的是 arm-linux-gcc -o s3 zonghe.c -I /home/iot/mysql/include/ -L/home/iot/mysql/lib -lmysqlclient

其中它的路径是绝对的

编译完,是要在开发板上运行,却发现出现了以下错误(s3是编译好的文件)

./s3: error while loading shared libraries: libmysql.so.16: cannot open shared object file: No such file or directory

解决方法一:

创建用户跟你的虚拟机环境一样(不实际)

解决方法二:使用相对路径(推荐)

          a. 将需要编译的源文件和文件放到同一个根目录下

          b.使用相对路径进行编译   arm-linux-gcc -o s3 studentquery.c -I./include -L./lib -lmysqlclient 

如果再执行的过程中还遇到一样的问题,则设置一个全局变量(在开发板的运行终端界面)

export LD_LIBRARY_PATH=./lib

执行即可。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值