静态库和动态库的编译
制作静态库文件(例子)
gcc -c add.c -I ./include/ 大写I表明头文件位置 生成.o 文件
ar rcs libCal.a add.o 生成库文件libxxx.a
gcc main.c -o app -I include/ -L lib/ -lCal 大写I指定头文件路径,大写的L指定库的路径,小写的l加上xxx(只写xxx)指定库名
制作动态库(例子)
gcc -fPIC -c add.c -I ./include/ 加上参数fPIC
gcc -shared -o libCal.so add.o 打包为so文件
gcc main.c -o app -I include/ -L lib/ -lCal
还得需要把动态库路径加载
方式一 将libCal.so 放入系统使用的库文件路径下 /lib 或者是 /usr/lib
方式二 修改添加到环境变量 export LD_LIBRARY_PATH =/home/test/lib/:$LD_LIBRARY_PATH
方式三 修改动态库的配置文件 在/etc/ld.so.conf 添加上动态库的路径 然后输入ldconfig 让修改生效(推荐)