64位Linux下编译cximage动态库
来源:互联网 发布:免费域名注册网站 编辑:程序博客网 时间:2024/05/24 05:55
首先,在64位Linux下编译cximage静态库,请参考文章:
64位Linux编译cximage手记
我在第6步的时候遇到一个问题,按照文中作者提示,输入
CPPFLAGS="=-fPIC" ./configure --with-extra-includes=/home/cximage599c/cximage/jasper/include/
结果编译静态库失败了,不知道是什么原因。
最后我的解决办法是到cximage每一个库目录下,依次修改每一个makefile,增加“-fpic”命令
CFLAGS = -O2 -fPIC CPPFLAGS += -fPIC才编译成功。
由于项目需要,需要将多个动态库和cximage库一起链接在一个工程里,生成一个动态库。然而,将 多个动态库和多个静态库如何一起链接生成一个动态库的方法,很遗憾,我并没有找着。还好,最终我实现了将cximage这8个静态库编译成一个动态库,从而和其他动态库一起成功链接到我的工程代码里。
最后,将8个静态库,编译成一个动态库,我的makefile文件如下:
CC = gccLD = ldLIBRARY = libCX.soOBJECTS = libCxImage.a libj2k.a libjasper.a libjbig.a libjpeg.a libpng.a libtiff.a libzlib.a all:$(LIBRARY)$(LIBRARY):$(OBJECTS)rm -f $(LIBRARY)$(LD) -fPIC -shared --whole-archive $(OBJECTS) --no-whole-archive -soname $@ -o $@ @echo "FINISHED CREATING $(LIBRARY) LIBRARY" @echo "-----------------------------------------------------" libCxImage.a: $(MAKE) $(AM_MAKEFLAGS) -f libCxImage.mklibj2k.a: $(MAKE) $(AM_MAKEFLAGS) -f libj2k.mklibjasper.a: $(MAKE) $(AM_MAKEFLAGS) -f libjasper.mklibjbig.a: $(MAKE) $(AM_MAKEFLAGS) -f libjbig.mklibjpeg.a: $(MAKE) $(AM_MAKEFLAGS) -f libjpeg.mklibpng.a: $(MAKE) $(AM_MAKEFLAGS) -f libpng.mklibtiff.a: $(MAKE) $(AM_MAKEFLAGS) -f libtiff.mklibzlib.a: $(MAKE) $(AM_MAKEFLAGS) -f libzlib.mk
这里附上我自己编译的cximage静态库和动态库,均可放心使用
cximage库linux版本
项目中测试发现,linux下,cximage库和cairo绘图库一起引用的话,会造成“CAIRO_STATUS_NO_MEMORY”,导致cairo无法绘制出图片,经过排查,发现是cximage的构造方法在编译阶段对内存进行了操作导致的。所以,如果有同样需求的,建议不要同时引用这两个库。
0 0
- 64位Linux下编译cximage动态库
- 64位Linux编译cximage手记
- linux下编译CxImage
- Linux编译cximage生成动态链接库
- linux下的cximage编译
- 对在64位Linux下编译动态链接库参数的探究
- linux 64位 编译动态库时会出错的解决方案
- linux 64位系统下so编译
- 64位linux系统下编译int32_t
- 64位linux下编译hadoop2.X
- 在64位linux下编译出32位程序
- 64位Linux下编译32位程序
- 在64位linux下编译32位程序
- 在64位linux下编译32位程序
- 在64位linux下编译32位程序
- 在64位linux下编译32位程序
- 在64位linux下编译32位程序
- 在64位linux下编译32位程序
- 交换瓶子
- 关于BigDecimal 的使用
- Jquery each方法,call方法
- 设计模式六大原则(6):开闭原则
- hal库配置time需要修改库函数的地方
- 64位Linux下编译cximage动态库
- 多元线性回归模型的F检验
- html+css-清除浮动
- 如何利用 JConsole观察分析Java程序的运行,进行排错调优
- mybatis理论总结
- leedcode[3] Longest Substring Without Repeating Characters Python实现 详细讲解
- Sockets编程——InetAddress类
- C++初始string
- Android依赖注入(IOC)