gcc常用编译选项:
选项 |
含义 |
-static | 链接静态库,禁止使用动态库 |
-shared | 进行动态库编译,链接动态库 |
-Ldir | 在动态库的搜索路径中增加dir目录 |
-lname | 链接静态库(libname.a)或动态库(libname.so)的库文件 |
-fPIC(或fpic) | 生成使用相对地址无关的目标代码 |
方法一:
第一步:使用-shared参数生成动态库,gcc -shared -fPIC -o libtest.so test.c 然后把libtest.so复制到/usr/lib64/系统路径下
注意:生成的动态库的名字必须是lib+名字.so,之后可以直接使用-ltest来引用动态库。
第二步:编译main.c,使用libtest.so动态库,gcc -o main main.c -L/usr/lib64/ -ltest
方法二:
在编译main.c,并链接libtest.so的时候,直接指定使用当前目录下的libtest.so文件,
使用命令:gcc -o main main.c ./libtest.so