目录结构
静态库制作与使用
cd src
# 汇编生成.o文件
gcc add.c div.c mult.c sub.c -c -I../include
# 生成静态库
ar rcs libcalc.a add.o div.o mult.o sub.o
mv libcalc.a ../lib/
cd ..
# 生成可执行文件 app
gcc main.c -o app -Iinclude -Llib -lcalc
# 执行
./app
动态库制作与使用
cd src
# 生成与位置无关的.o文件
gcc add.c div.c mult.c sub.c -c -I../include -fPIC
# 生成动态库
gcc add.o div.o mult.o sub.o -shared -o libcalc.so
mv libcalc.so ../lib/
cd ..
# 生成可执行文件 app
gcc main.c -o app -Iinclude -Llib -lcalc
# 执行
LD_LIBRARY_PATH=lib ./app
动态库加载问题的解决
修改环境变量 LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/lyc/project/lib
- 命令行配置
- 用户级别配置修改 ~/.bashrc
- 系统级别配置修改 /etc/profile
后两种修改完记得进行 source 操作(. .bashrc),使之立即生效
修改 /etc/ld.so.conf
粘贴 /home/lyc/project/lib 在文件末尾
执行 ldconfig 命令