生成动态链接库,解决动态链接库连接失败问题

目录

目录还是include存放头文件
lib存放动态链接库
src存放源文件

生成地址无关的.o文件

g++ -fPIC -c *.cpp -I../include

生成动态链接库

g++ -shared -o libMyCalc.so *.o

使用动态链接库

g++ main.cpp -L./lib -lMyCalc -I./include -o app

注意:-L后是库地址,-l后是库名.
我们刚刚生成的库是libMyCalc.so,可以直接写全名.so
如果不想加.so就要去掉lib前缀,不然命名会自动加上lib前缀

找不到动态库地址

生成动态链接库,解决动态链接库连接失败问题_第1张图片
刚生产app可执行文件时,libMyCalc.so=>not found

解决方法:

export LD_LIBRARY_PATH=目前库路径

生成动态链接库,解决动态链接库连接失败问题_第2张图片

方法2:
到/etc下找到ld.so.conf文件
加入一行
在这里插入图片描述

sudo ldconfig //使配置生效

你可能感兴趣的:(C++)