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

动态库编译 -static 选项没效果?

    来源: 互联网  发布时间:2017-04-22

    本文导语:  编译出来看到还是大小那么大,依赖的库也没变。是哪儿错了? CC = g++ RELEASE = 1 UNICODE = 0 LIB = -static -lrt -ldl -lpthread   LIBINCLUDE = NetEngine_PermissionsSystem.o Algorithm_DllMain.o Algorithm_String.o ifeq ($(RELEASE),1) FLAGS = -c -O2  D...


编译出来看到还是大小那么大,依赖的库也没变。是哪儿错了?

CC = g++
RELEASE = 1
UNICODE = 0
LIB = -static -lrt -ldl -lpthread  
LIBINCLUDE = NetEngine_PermissionsSystem.o Algorithm_DllMain.o Algorithm_String.o

ifeq ($(RELEASE),1)
FLAGS = -c -O2 
DEBUG = 
else
FLAGS = -c -lc_p
DEBUG = -g -pg 
endif

ifeq ($(UNICODE),1)
UNICODE = -D _UNICODE
else
UNICODE = 
endif

all:$(LIBINCLUDE)
$(CC) $(DEBUG) $(LIBINCLUDE) -o libNetEngine_Algorithm.so -shared -fPIC $(LIB)

NetEngine_PermissionsSystem.o:./NetEngine_PermissionsSystem/NetEngine_PermissionsSystem.cpp                 
$(CC) $(FLAGS) $(UNICODE) ./NetEngine_PermissionsSystem/NetEngine_PermissionsSystem.cpp
Algorithm_String.o:./Algorithm_String/Algorithm_String.cpp                 
$(CC) $(FLAGS) $(UNICODE) ./Algorithm_String/Algorithm_String.cpp
Algorithm_DllMain.o:./Algorithm_DllMain.cpp                          
$(CC) $(FLAGS) $(UNICODE) ./Algorithm_DllMain.cpp

|
If, instead, you use the GCC driver to create shared libraries, you may find that they will not always be linked with the shared libgcc.  If GCC finds, at its configuration time, that you have a non-GNU linker or a GNU linker that does not support option --eh-frame-hdr, it will link the shared version of libgcc into shared libraries by default.
man gcc,-static-libgcc参数里面有这一段话,或许是这个原因

    
 
 

您可能感兴趣的文章:

  • 动态编译与静态编译驱动程式疑问?
  • Linux动态库编译问题
  • 在linux下(c++),如何动态调用 动态库(.so)? 为什么我编译报错:undefined reference to "dlopen"
  • 如何在程序中动态的加载并且调用另一个编译好的函数?
  • 问一个编译动态链接库的问题
  • C++动态编译工具 ccbuild
  • 编译时链接我的动态库出现错误:undefined reference to ‘XXXXXX’
  • arm-linux-gcc 编译时加载<math.h>动态链接库的问题
  • unix 如何使用xlC_r把程序编译成动态链接库
  • AIX下gcc编译器怎么使用动态连接库
  • vc编写dll动态连接库(编译过的)能在unix上开发使用吗?
  • 高手接分!UNIX 64位动态链接库编译问题
  • 不改变代码,怎样使每次编译生成的可执行程序或动态库二进制保持一致?
  • 在Unix环境下用gcc如何编译成动态链接库文件?类似Windows下的DLL文件。
  • linux使用自己编译动态库依赖头文件过多的问题
  • 编译动态连接库是报错!在线急等回答!!
  • 关于动态库编译命令行的问题???
  • 交叉编译,动态链接库运行出错!请高人指点
  • 请教动态编译问题
  • 关于编译时初始化和动态初始化
  • list box的选项能动态改变吗
  • JSP中如何实现动态select选项框?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • css动态模糊效果
  • strip对动态库文件(.so)和静态库文件(.a)的不同效果?
  • Jquery实现显示隐藏动态效果的例子
  • jquery animate实现动态显示与隐藏效果
  • java实现gif动画效果(java显示动态图片)
  • android中实现指针滑动的动态效果方法
  • jQuery动态提示消息框效果的实现代码
  • jquery Tab效果、动态加载的示例代码
  • jquery Tab效果和动态加载的简单实例
  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • 可执行程序加载动态库 和 动态库加载动态库 的动态库初始化的问题
  • Linux下c函数dlopen实现加载动态库so文件代码举例
  • 动态库调用动态库
  • C++动态编译工具 ccbuild iis7站长之家
  • linux能否成为动态域名解析客户端的动态域名解析服务器?
  • 关于动态菜单项,注意,不是动态菜单(一定给分)
  • Linux下,怎么确定动态库的绝对位置(动态库里面确定)?
  • 为什么动态生成的图片,JSP不能动态的获得
  • 请问:能不能动态的运行时生成对象(动态定义对象), 要涉及到哪些技术, 反射,序列化...??
  • 动态加载动态库问题--在线等
  • C#实现动态显示及动态移除图片方法
  • 静态库,动态库,静态链接和动态链接
  • 程序发布的问题(动态连接库的问题)
  • JSP动态缓存 JimStoneCache
  • 怎么调试unix动态库.
  • 如何调用动态
  • 关于动态库的问题,谢谢!
  • linux动态路由问题
  • 内核与动态(共享)库
  • Linux 动态库,静态库的一些疑惑


  • 站内导航:


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

    ©2012-2021,