在做实验的时候,使用了动态链接库,比如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
执行即可。