CxImage Linux 编译

CxImage是一个丰富的图像上树立开源代码,Windows下编译简单,但是Linux下有很多问题,特此记录,其中部分问题和解决方法采用前辈的想法,在此一并谢过。

1. 下载Linux的cximage tar包

cximage 主页

http://www.xdp.it/cximage.htm

Linux 包下载地址

http://www.xdp.it/cgi-bin/dl.pl?cximage/cximage599c_tar

2、下载后得到cximage599c_tar.zip,然后将其解压

[plain] view plain copy

  1. unzip cximage599c_tar.zip  
    tar xzvf cximage599c.tar.gz  
    cd cximage599c/

3、 ./configure; make

其中make时报错:

[plain] view plain copy

  1. cd . && /home/zhl/cximage599c/admin/missing aclocal-1.4  
    WARNING: `aclocal-1.4‘ is needed, and you do not seem to have it handy on your  
             system.  You might have modified some files without having the  
             proper tools for further handling them.  Check the `README‘ file,  
             it often tells you about the needed prerequirements for installing  
             this package.  You may also peek at any GNU archive site, in case  
             some other package would contain this missing `aclocal-1.4‘ program.  
    make: *** [aclocal.m4] Error 1

系统有安装高版本的automake,难道一定要切换到低版本?

[plain] view plain copy

  1. rpm -aq | grep automake  
    automake-1.13.4-3.el7.noarch

尝试手动修改Makefile里面aclocal的版本号,仍然有问题。最后发现重新生成 aclocal.m4和Makefile就可以了:

解决步骤如下:

[plain] view plain copy

  1. #重新生成 aclocal.m4  
    aclocal  
    #重新生成configure文件  
    autoconf -i -v -f  
    # 删除原来的makefile  
    find ./ -name Makefile -exec rm -rf {} \;  
    # 重新生成Makefile  
    ./configure

出现如下错误:

configure.in:98: warning: omit leading ‘./‘ from config file names such as ‘./Makefile‘;
configure.in:98: remake rules might be subtly broken otherwise
configure.in:62: error: required file ‘admin/compile‘ not found
configure.in:62:   ‘automake --add-missing‘ can install ‘compile‘
make: *** [Makefile.in] Error 1

解决方法:

automake --add-missing
make

4. 出现如下错误

  1. tif_xfile.cpp: In function ‘TIFF* _TIFFOpenEx(CxFile*, const char*)’:  
    tif_xfile.cpp:102: error: cast from ‘CxFile*’ to ‘int’ loses precision  
    make[3]: *** [tif_xfile.o] Error 1
解决方法:修改代码 ./cximage/CxImage/tif_xfile.cpp

extern"C" TIFF* _TIFFOpenEx(CxFile* stream, constchar* mode)

  1. {
  2. //return (_TIFFFdOpen((int)stream, "TIFF IMAGE", mode));// 64bits 系统,int 改成long
  3. return (_TIFFFdOpen((long)stream, "TIFF IMAGE", mode));
  4. }

5. 采用vi编辑,结束采用:x

时间: 2024-10-26 14:08:27

CxImage Linux 编译的相关文章

Linux编译安装Qt 5.4.1

转载请注明文章:Linux编译安装Qt 5.4.1 出处:多客博图 很久不写文章了,过程很简单,但是操作很多,简单说吧. 前言: 操作系统CentOS 6.6,64位的. 1.安装gcc 4.8.4,或者4.9.2,越高版本越好咯,编译安装到/usr/local/下面,这样无需设置可执行文件路径了,然后卸载自带的gcc等,卸载所有依赖,如果不行就--nodeps方式卸载: 2.安装gdb 7.8,有新的gcc 4.8.4这种就可以了,然后强行卸载系统自带的gdb, rpm -e gdb.xxx

Linux 编译时出现类似error: stray '\357' in program的解决方法

原因: 在程序中打入了全角字符 具体分析产生原因: 在编程中,由于打字的快速,按下ctrl键后紧接着按下了space键,由于按下两个键的间隙比较短,导致系统误检测到ctrl + space信号,将输入法从半角切换到全角. 解决方法: 只需将定位的错误行号对应的代码删掉重新输入即可. Linux 编译时出现类似error: stray '\357' in program的解决方法

linux编译安装nginx

linux下编译安装nginx,从nginx官网下载nginx原代码,解压到某个目录,执行如下命令 # ./configure --prefix=/usr/local/nginx 配置nginx编译生成的目录,nginx的shell脚本将存储在/user/local/nginx/sbin目录,配置文件将存储在/user/local/nginx/conf目录下 nginx支持正则匹配路径,依赖pcre包,编译之前请先安装此包.如果要使用https,还需要openssl.如果要使用gzip,需要zl

Linux编译ffmpeg

Linux编译ffmpeg并转换MP3到AMR AMR格式是智能手机上的常用音频文件格式,比如MP3格式的压缩比大,但是文件比MP3小,所以在移动互联项目中应用比较广泛.去年年底协助联想研究院开发一款预装产品过程中需要使用到MP3格式和AMR格式的互相转换,服务器环境为CentOS 6.0,过程如下. 1. 首先安装系统基础环境 RHEL & CentOS 系列:yum install -y automake autoconf libtool gcc gcc-c++ Debian & Ub

linux编译安装LAMP

Linux安装Apache+MySQL+PHP 安装部分依赖 安装apr(可选) # tar -xf apr-1.5.0.tar.bz2 # cd apr-1.5.0 #./configure --prefix=/usr/local/apr //指定其安装位置 # make && make install 安装apr-util # tar -xf apr-util-1.5.3.tar.bz2 # cd apr-util-1.5.3 # ./configure --prefix=/usr/l

linux编译中的常见问题

转linux编译中的常见问题 错误提示:Makefile:2: *** 遗漏分隔符 . 停止. 原因makefile中 gcc语句前 缺少一个 tab分割符 错误提示: bash: ./makefile: 权限不够 原因 makefile 是文本文件不可执行,即使是root,也会权限不够 我们应该在命令行下使用make, 该指令会自动搜寻所在目录下的makefile文件,如果使用其他名称如(makefile.am)则应加参数指出,如:make -f makefile.am 错误提示 : a.c:

linux 编译网卡驱动

将smsc7500网卡驱动拷贝到/drive/net/usb文件夹下 拷贝ioctl_7500.h  smsc7500usbnet.c smsc7500version.h smsclan7500.h  smsc7500usbnet.h smsclan7500.c到usb文件夹下, 打开Kconfig,找到95xx,进行相应的修改. 打开Makefile ,添加相应的.o文件 在make menuconfig里面把smsc7500选上 然后make linux 编译网卡驱动

Linux编译多个不同目录下的文件以及静态库、动态库的使用

先看两篇博文,作为基础知识.如果对C/C++编译链接过程都了解的话,可以跳过不看. http://www.firedragonpzy.com.cn/index.php/archives/2556 http://www.cppblog.com/shifan3/archive/2007/01/05/17325.html 一.  编译不同目录下的多个文件 各个文件的布局如下: head.h文件的代码: [cpp] view plaincopy #ifndef  HEAD_H #define  HEAD

linux 编译错误:undefined reference to `__gxx_personality_v0'

(1)编译 c++ 程序需要添加 -lstdc++ 如: gcc -lstdc++ -o test test.c 否则会报 "undefinedreference to '__gxx_personality_v0' " 错误 (2)用gcc命令编译C程序,用g++命令编译C++程序. g++和gcc本质一样的,本质上还是gcc,我们实验室所有的c++程序都是用gcc编译的,一般的程序用gcc足够了. 对于 C++ 程序,编译的时候用 gcc 或者 g++ 都可以.但是在进行连接的时候最