生成静态库:
1,编译得到.o文件:gcc -c time.c -o time.o
2,打包成静态库:ar -rcs libmytime.a time.o
静态库的使用
1,将time.h libmytime.a 分别放入/usr/local/test0516/include 、/usr/local/test0516/lib
mkdir -p /usr/local/test0516/include
mkdir -p /usr/local/test0516/lib
cp ./time.h /usr/local/test0516/include/time.h
mv ./libmytime.a /usr/local/test0516/lib/libmytime.a
2,使用静态库 使用I选项指定 包含文件的搜索路径
gcc test.c -o test -I/usr/local/test0516/include -L/usr/local/test0516/lib -lmytime
3,运行
./test
生成动态库:
1,编译得到.o文件:gcc -c -fPIC time.c -o time.o
2,链接生成动态库:gcc -shared time.o -o libmytime.so
动态库的使用
1,将time.h libmytime.so 分别放入/usr/local/test0516/include 、/usr/local/test0516/lib
mkdir -p /usr/local/test0516/include
mkdir -p /usr/local/test0516/lib
cp ./time.h /usr/local/test0516/include/time.h
mv ./libmytime.so /usr/local/test0516/lib/libmytime.so
2,删除time.c time.h time.o
rm -f time*
2,使用动态库 编译使用I选项指定 包含文件的搜索路径
gcc test.c -o test -I/usr/local/test0516/include -L/usr/local/test0516/lib -lmytime
3,设置环境变量
export LD_LIBRARY_PATH=/usr/local/test0516/lib
4,运行
./test
静态库动态库并存时强制使用静态库
查询使用的是哪种库readelf -d test
使用全路径
gcc test.c /usr/local/test0516/lib/libmytime.a -o test -I/usr/local/test0516/include