静态库和动态库的编译

制作静态库文件(例子)

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 让修改生效(推荐)

posted @ 2020-08-29 21:15  Mr.SSC  阅读(273)  评论(0编辑  收藏  举报