社区
C语言
帖子详情
c程序编译生成so文件
zhaojian68326952
2005-10-14 11:14:57
各位xdjm:
我有多个c文件,相互之间可以函数调用,现在我想将它们一起编译生成一个so文件,不知道怎么编译?
在windows下可以编译生成dll文件,编译生成so文件是不是一定要在linux环境下进行???在windows下可以吗?
还有就是如何编译?有什么编译工具吗?
感谢回答!
...全文
1756
8
打赏
收藏
c程序编译生成so文件
各位xdjm: 我有多个c文件,相互之间可以函数调用,现在我想将它们一起编译生成一个so文件,不知道怎么编译? 在windows下可以编译生成dll文件,编译生成so文件是不是一定要在linux环境下进行???在windows下可以吗? 还有就是如何编译?有什么编译工具吗? 感谢回答!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
021850524
2005-10-16
打赏
举报
回复
顺便再补充一下, 编译的时候, 加上-c -fPIC,产生位置无关的代码.要不然会不能正常使用.
zhang_jiang
2005-10-15
打赏
举报
回复
Windows下用cygwin试试.
你嫌麻烦可以写个Makefile好了.
zhaojian68326952
2005-10-15
打赏
举报
回复
自己顶,高手指点一下啊
Cnwanglin
2005-10-14
打赏
举报
回复
windows环境下的用VC
有做成Dll 生成的dll 在Debug目录下
zhaojian68326952
2005-10-14
打赏
举报
回复
非常感谢楼上的回答!
但是我还不是很明白,只能一个一个文件单独编译吗?不可以将所有的c文件作为一个工程来编译生成一个so动态链接库吗?
还有在windows环境下能编译吗?用什么工具?
zhang_jiang
2005-10-14
打赏
举报
回复
.so是Linux(Unix)下的动态链接库. 和.dll类似.
比如文件有: a.c, b.c, c.c
gcc -c a.c
gcc -c b.c
gcc -c c.c
gcc -shared libXXX.so a.o b.o c.o
要使用的话也很简单. 比如编译d.c, 使用到libXXX.so中的函数, libXXX.so地址是MYPATH
gcc d.c -o d -LMYPATH -lXXX
注意不是-llibXXX
zhaojian68326952
2005-10-14
打赏
举报
回复
高手路过指点一下啊
zhaojian68326952
2005-10-14
打赏
举报
回复
但是我现在不要生成dll啊,我只要生成so!
LINUX下C++
生成
.so
文件
及
编译
生成
可执行
文件
的过程
以下是.so库的
生成
及
编译
步骤: 如果.cpp
文件
不多的话,可以将.cpp和.hpp
文件
都放在一个目录下,依次输入名称进行
编译
.也可以用指令将整个目录下的.cpp
文件
全部
编译
.这里先记录下依次输入名称的方法. 1.对目录下不包含...
linux
编译
.so
文件
,linux中把.c的
文件
编译
成.so
文件
linux中共享库以so为...以下以
编译
mylib.c为例讲如何
编译
.so
文件
。首先,
编译
mylib.c:$gcc -c -fPIC -o mylib.o mylib.c-c表示只
编译
(compile),而不连接。-o选项用于说明输出(output)
文件
名。gcc将
生成
一个目标(o...
c语言怎样
编译
成so
文件
,C++调用C语言
编译
的so
文件
参考链接:...制作so
文件
:libadd_c.so或libadd_cpp.so1、add.c:int add(int a, intb){return a +b;}
编译
:gcc -shared -fpic -lm -ldl -o libadd_c.so add.c2、add.cp...
Linux C++通过Makefile
编译
生成
动态库.so
文件
通过Makefile
编译
和
生成
动态库.so
文件
可以极大地简化
编译
流程,尤其是在处理多个源
文件
和复杂项目时。Makefile的自动化
编译
规则使得构建共享库更加高效和便捷。这篇文章介绍了如何使用Makefile
编译
和
生成
动态库.so...
Linux下c++
程序
利用g++方法
生成
.so
文件
并调用测试
c++
程序
利用g++方法
生成
.so
文件
并调用测试
生成
.so
文件
调用.so
文件
生成
.so
文件
test.cpp #include <iostream> int calcAdd(int x, int y) { return x+y; } test.h #include "test.h" extern "C" int calcAdd...
C语言
70,034
社区成员
243,244
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章