怎样把.c文件编译成.so文件

怎样把.c文件编译成.so文件,第1张

.so是linux用的

所以

要生成so

需要用gcc

和生成可执行文件类似,只是增加一些编译选项

命令如下

gcc

SOURCE_FILES

-fPIC

-shared

-o

TARGET

SOURCE_FILES可以是.

c文件

,也可以是经过-c编译出来的.o文件

TARGET为so文件。

可以的

一般是把多个.c文件 先分别编译成.o文件

然后再把.o文件打包成.so

也可以直接编译打包,一步完成。

命令如下

gcc SOURCE_FILES -fPIC -shared -o TARGET

SOURCE_FILES可以是.c文件,也可以是经过-c编译出来的.o文件

TARGET为so文件。

比如

gcc a.c b.c c.c d.c -fPIC -shared -o libabcd.so

就跟用VS编译dll或者lib文件差不多,把代码编译完成以后,命名为相应的后缀就好了。

例如:

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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8143947.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存