c编译生成so 库

来源:互联网 发布:mac csgo打开黑屏 编辑:程序博客网 时间:2024/05/16 07:50
首先
gcc -c -fPIC libst.c

生成 libst.o



然后
gcc -shared -fPIC -o libst.so libst.o

生成 libst.so 动态链接库


注意-fPIC选项。PIC指Position Independent Code。共享库要求有此选项,以便实现动态连接(dynamic linking)


把libst.so拷贝到系统默认库目录下,比如 /lib, /usr/lib 下
假定你有 test.c 要引用这个库
gcc -lst -o test test.c
然后就可以了

假如不能把libst.so拷贝到默认库目录下,比方说放在了
/home/aaa/lib 下
那么就用这样的语句来编译test.c
gcc -L/home/aaa/lib -lst -Wl,-rpath=/home/aaa/lib -o test test.c
0 0
原创粉丝点击