主题 : 请问有谁交叉编译过lcms这个库? 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 10461
精华: 0
发帖: 3
金钱: 30 两
威望: 15 点
综合积分: 6 分
注册时间: 2009-11-05
最后登录: 2009-11-19
楼主  发表于: 2009-11-05 22:51

 请问有谁交叉编译过lcms这个库?

环境:板为友善之臂micro2440,内核为linux-2.6.29.4,qtopia为2.20,内核支持eabi

我手头上有个pdf小程序,需要用到poppler库,而poppler库依赖于许多库,除了这个lcms编译用arm-none-linux-gnueabi编译外(因为arm-linux编译时老通不过),我一 一都用arm-linux(EABI)编译过。

通过nfs,程序能在板上跑动,但打开pdf文件的时候就崩溃了,终端上显示“illegal instruction”的错误。

由于之前出过类似的错误(大部分是由于内核支持EABI,而用OABI编译器编译程序,才会出现“illegal instruction”的错误),所以我估计是由于lcms没有用arm-linux(EABI)编译才导致程序在读取pdf出错。


但如上所说,用arm-linux编译时出错,所以不知道怎么弄,请教一下大家。

以下是arm-linux编译lcms时出错提示:

root@Evix-PC:/home/evix/src/lcms-1.18# make
Making all in src
make[1]: 正在进入目录 `/home/evix/src/lcms-1.18/src'
/bin/bash ../libtool --tag=CC   --mode=compile arm-linux-gcc -std=gnu99 -DPACKAGE_NAME=\"lcms\" -DPACKAGE_TARNAME=\"lcms\" -DPACKAGE_VERSION=\"1.18\" -DPACKAGE_STRING=\"lcms\ 1.18\" -DPACKAGE_BUGREPORT=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DSIZEOF_INT=4 -DSIZEOF_UNSIGNED_INT=4 -DSIZEOF_LONG=4 -DSIZEOF_UNSIGNED_LONG=4 -DSIZEOF_LONG_LONG=8 -DSIZEOF_UNSIGNED_LONG_LONG=8 -DHasJPEG=1 -DHasZLIB=1 -I. -I../include -I../include    -g -O2 -MT cmscnvrt.lo -MD -MP -MF .deps/cmscnvrt.Tpo -c -o cmscnvrt.lo cmscnvrt.c
mkdir .libs
 arm-linux-gcc -std=gnu99 -DPACKAGE_NAME=\"lcms\" -DPACKAGE_TARNAME=\"lcms\" -DPACKAGE_VERSION=\"1.18\" "-DPACKAGE_STRING=\"lcms 1.18\"" -DPACKAGE_BUGREPORT=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DSIZEOF_INT=4 -DSIZEOF_UNSIGNED_INT=4 -DSIZEOF_LONG=4 -DSIZEOF_UNSIGNED_LONG=4 -DSIZEOF_LONG_LONG=8 -DSIZEOF_UNSIGNED_LONG_LONG=8 -DHasJPEG=1 -DHasZLIB=1 -I. -I../include -I../include -g -O2 -MT cmscnvrt.lo -MD -MP -MF .deps/cmscnvrt.Tpo -c cmscnvrt.c  -fPIC -DPIC -o .libs/cmscnvrt.o
arm-none-linux-gnueabi-gcc: 1.18": No such file or directory
<command-line>: warning: missing terminating " character
make[1]: *** [cmscnvrt.lo] 错误 1
make[1]:正在离开目录 `/home/evix/src/lcms-1.18/src'
make: *** [all-recursive] 错误 1
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
1楼  发表于: 2009-11-06 00:01
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 10461
精华: 0
发帖: 3
金钱: 30 两
威望: 15 点
综合积分: 6 分
注册时间: 2009-11-05
最后登录: 2009-11-19
2楼  发表于: 2009-11-06 16:09
谢谢版主,看了你的贴,收到启发,虽然有点不一样,但基本上都是相同的
我是在configure文件里查找“lcms 1.18”,把他该为“lcms_1.18”就OK了
谢谢!!