当前位置:  技术问答>linux和unix

如何用AUTOMAKE生成动态链接库 .so 文件?

    来源: 互联网  发布时间:2015-08-20

    本文导语:  我在网上找了很久,都是一些扩展名是.la的 不知是做什么的,类似于windows 下的lib文件吗? 反而如何生成一个.so文件的,我实在是找不到。 在mysql源文件目录下找也未有结果.头都大了.... | ...

我在网上找了很久,都是一些扩展名是.la的 不知是做什么的,类似于windows 下的lib文件吗?
反而如何生成一个.so文件的,我实在是找不到。

在mysql源文件目录下找也未有结果.头都大了....

|
.la 的就是做动态联接库的
默认一般生成的.so 文件在 .libs 目录下,是个隐藏目录。

|
gcc -shared -fPLC main.c -0 -o main.so.0.0.0.1
-shared 是生成动态库, -fPLC这个参数是什么记不清了,就是生成独立的代码, -0是优化,但觉得测试时用-g比较好。-o是生成动态库,生成后做一个软符号连接到库路径中。例如,main.so 后面的版本号去掉。

|
-shared 说明生成动态库, -fPIC 表示生成位置无关代码(不加可能会导致加载时定位错误)
连接库生成执行文件的时候加参数 -rdynamic

|
给个makefile的例子,以供参考:
OBJS=serv_pub.o proc_pub.o Thread.o
libDataProcess.so:$(OBJS)
g++ $(CFLAGS) -D T_DEBUG -D __LINUX__ -shared -fPIC -I ../Common -O2 -o libDataProcess.so $(OBJS) -lpthread -Wl,-rpath,./

serv_pub.o:
g++ $(CFLAGS) -D T_DEBUG -D __LINUX__ -fPIC -O2 -c -I ../Common serv_pub.cpp

proc_pub.o:
g++ $(CFLAGS) -D T_DEBUG -D __LINUX__ -fPIC -c -I ../Common proc_pub.cpp

TradeIni.o:
g++ $(CFLAGS) -D T_DEBUG -D __LINUX__ -fPIC -c -I ../Common TradeIni.cpp

clean:
rm -f *.o *.so 

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • automake 初级问题,大家指教.
  • GNU Automake
  • automake的使用问题
  • make和automake什么关系
  • automake的問題
  • 已安装automake 版本1.9 为什么还是提示版本过低
  • 请教关于AUTOMAKE问题?
  • 请教automake的问题
  • 运行automake时的错误
  • configure.ac中AM_INIT_AUTOMAKE(NAME, VERSION) 貌似没有作用
  • 编译程序时,用Automake和Autoconf时有个问题请教,急急!
  • help!!!automake问题.
  • automake是做什么用的?
  • 请教下,各位作MakeFile时用Automake这个工具么
  • automake 怎么样来加载共享库呀!
  • 怎么修改automake,追加引用外部库
  • 高分相送,如何更改Autoconf和Automake使其被arm-linux-gcc编译
  • 使用automake在64位Linux下编译32位C++程序
  • 关于automake的问题
  • automake的问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3