社区
Linux/Unix社区
帖子详情
为何我编出来的共享库后缀名为.la,而不是.so
chengwei02
2006-03-21 03:32:07
我采用的是Makefile方式,不知如何生成.so的文件?
如下:
INCLUDES = $(all_includes)
lib_LTLIBRARIES = libexp.la
libexp_la_METASOURCES = AUTO
include_HEADERS = shape.h
libexp_la_SOURCES = shape.cpp
...全文
376
14
打赏
收藏
为何我编出来的共享库后缀名为.la,而不是.so
我采用的是Makefile方式,不知如何生成.so的文件? 如下: INCLUDES = $(all_includes) lib_LTLIBRARIES = libexp.la libexp_la_METASOURCES = AUTO include_HEADERS = shape.h libexp_la_SOURCES = shape.cpp
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
chengwei02
2006-03-28
打赏
举报
回复
fierygnu:
只是automake生成的make install不一样,需要单独处理,因为一般用dlopen打开的共享库不会安装在库路径下
怎么不一样?只是打开不一样吗?
如果我非要生成.so的共享库该如何写makefile文件?因为我想在代码里对所有的.so共享库统一处理成动态加载,从扩展名.so判定是否共享库
fierygnu
2006-03-23
打赏
举报
回复
如果不是使用dlopen加载,就用.la就可以。
要是用dlopen方式,有一堆宏,我记不清了,查一下文档吧。
fierygnu
2006-03-23
打赏
举报
回复
不是只能打开.so的共享库。不管共享名是什么,只要是共享库,dlopen都可以打开。只是automake生成的make install不一样,需要单独处理,因为一般用dlopen打开的共享库不会安装在库路径下。
chengwei02
2006-03-23
打赏
举报
回复
是不是说,如果使用dlopen,它只能打开扩展名为.so的共享库?那我就得改写Makefile,生成.so的共享库
fierygnu
2006-03-22
打赏
举报
回复
那就是生成的动态库。
这是因为automake使用libtool生成动态库。
chengwei02
2006-03-22
打赏
举报
回复
看了,都是.so结尾的
chengwei02
2006-03-22
打赏
举报
回复
你是说用.la可以,还是lib里面的,我要自己生成.so,能不能帮我改下makefile?
fierygnu
2006-03-22
打赏
举报
回复
就用它生成的就可以。或者自己在makefile.am里指定编译、连接选项。
chengwei02
2006-03-22
打赏
举报
回复
我如何才能生成.so,如何改makefile吗?
谢谢
joyself
2006-03-22
打赏
举报
回复
refer to "GNU Autoconf, Automake and Libtool"
google for "autobook" which describes the above topic.
fierygnu
2006-03-21
打赏
举报
回复
看.lib目录下。
chengwei02
2006-03-21
打赏
举报
回复
to fierygnu(va_list)
我如何改写我的Makefile,让它生成so?
fierygnu
2006-03-21
打赏
举报
回复
automake生成的共享库。.so也有,是你没有让它生成。
kiroro00
2006-03-21
打赏
举报
回复
这样写gcc xx.o -o libxx.so -Wl,-soname,libxx.so -shared
用你的.o文件替换xx.o
编译.o文件时要加上-fPIC选项
Linux中的动态
库
和静态
库
(.a.
la
.so.o)
Linux中的动态
库
和静态
库
(.a/.
la
/.so/.o) 原文地址:https://www.cnblogs.com/findumars/p/5421910.html 在windows下,一般可以通过文件的
后缀名
来识别文件的类型。在Linux下大致上也是可以的。但是要明确的一点是...
Linux中的动态
库
和静态
库
(.a/.
la
/.so/.o)
在windows下,一般可以通过文件的
后缀名
来识别文件的类型。在Linux下大致上也是可以的。但是要明确的一点是,在linux下,文件的后缀与文件的类型是没有必然的联系的。这只是约定俗称的习惯罢了。 在linux 下进行C/...
linux下.a/.so/.
la
目标
库
区别
转自:http://www.metsky.com/archives/604.html在linux平台上编译时,常会遇到目标
库
的疑问,有静态
库
也有动态
库
,单个理解...一、格式说明linux下编译,常会遇到后缀为:.o .so .a .
la
.ko等格式文件,尽管linux并不
linux中.
la
是什么文件,linux下的so、o、lo、a、
la
文件有什么区别?
o: 编译的目标文件a: 静态
库
,其实就是把若干o文件打了个包so: 动态链接
库
(
共享
库
)lo: 使用libtool编译出的目标文件,其实就是在o文件中添加了一些信息
la
: 使用libtool编译出的
库
文件,其实是个文本文件,记录同名...
linux ko so,Linux下.ko, .o, .so, .a, .
la
文件
Linux下文件的类型是不依赖于其
后缀名
的,但一般来讲:.ko是Linux2.6内核使用的动态连接文件的
后缀名
,也就是模块文件,用来在Linux系统启动时加载内核模块.o是目标文件,相当于windows中的.obj文件.so为
共享
库
,是...
Linux/Unix社区
23,121
社区成员
74,508
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章