jpeg2000,kakaku移植问题。

内核编译和嵌入式产品的设计与开发
回复
big.bang
帖子: 2
注册时间: 2013-01-14 11:35
系统: ubuntu

jpeg2000,kakaku移植问题。

#1

帖子 big.bang » 2013-02-05 17:40

大家好,移植卡卡库之中遇到了一些问题,请给位帮忙!

首先介绍下JPEG2000/Software的目录结构
/bin
/Documentation
Compiling_Instruxtions.txt
Kakadu.pdf
Overview.txt
/Executables 各种平台下,已经编译好的可执行二进制文件
/Linux
Usage_Examples.txt
/Kakadu_V2.2.3 这是源代码目录
/apps 各种工程文件
/bin
/coresys 核心代码全部在这个目录
/lib
/nolib
Updates.txt
/nolib_generated
/Kdu_compress
/Kdu_expand
/static_bin 二进制可执行程序
Kdu_compress.exe
Kdu_compress.ilk
Kdu_expad.exe
Ldu_expand.ilk
/v2_generated
/compress
/debug
License.pdf

思路是这样的,在coresys目录下生成一个静态链接库libkdu.a,这个步骤没有问题。然后再利用apps文件夹下的makefile来生成可执行程序(他们会引用那个静态链接库)。由于无论是arm平台,还是pc平台,用的编译器都是一致的,应该可以排除编译器的问题吧?
1:当是用交叉编译器编译的,为的是能够在arm平台下运行。但在这一步出现了如下错误:
/opt/arm-2009q1/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/../../../../arm-none-linux-gnueabi/bin/ld: ../../lib/libkdu.a(analysis.o): Relocations in generic ELF (EM: 3)
../../lib/libkdu.a: could not read symbols: File in wrong format
collect2: ld returned 1 exit status
make: *** [kdu_compress] 错误 1

2:如果改成gcc(ubuntu10.04)gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5.1),就会出现如下错误。
/usr/bin/ld: args.o: Relocations in generic ELF (EM: 40)
/usr/bin/ld: args.o: Relocations in generic ELF (EM: 40)
/usr/bin/ld: args.o: Relocations in generic ELF (EM: 40)
/usr/bin/ld: args.o: Relocations in generic ELF (EM: 40)
args.o: could not read symbols: File in wrong format
collect2: ld returned 1 exit status
make: *** [kdu_compress] 错误 1

如论如何,感谢能给我提供意见的人!
回复