例如:
gcc
-c
-fPIC
libst.c
libst.o
然后
gcc
-shared
-fPIC
-o
libst.so
libst.o
生成
libst.so
动态链接库
把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
最好把头文件与so一起打包,当然你知道里面接口的定义的话头文件也不需要linux版本太多(redhat,centos,ubuntu,solaris.....),各个版本之间有差异别的电脑相同版本的linux系统的话应该能用,如果系统不一样不行
.so是linux用的所以要生成so需要用gcc和生成可执行文件类似,只是增加一些编译选项命令如下gccSOURCE_FILES-fPIC-shared-oTARGETSOURCE_FILES可以是.c文件,也可以是经过-c编译出来的.o文件TARGET为so文件。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)