嵌入式Linux全攻略 ACE程序移植过程详细讲解

一、在安装有Linux操做系统的PC上安装交叉编译器,笔者使用的是Moxa tool chain for DA66x,(其它的嵌入式Linux系统都是同样的作法),能够从 Moxa网站上下载:   二、将ACE程序包下载到Linux PC上,并解压   三、设置环境变量:   A、交叉编译工具的路径:export PATH=“/usr/local/xscale_be/bin:$PATH”   B、ACE_ROOT:export ACE_ROOT=“/home/jun/ACE_wrappers”(根据实际路径设置)   四、将$ACE_ROOT/ace/config-linux.h复制成$ACE_ROOT/ace/config.h   cp $ACE_ROOT/ace/config-linux.h $ACE_ROOT/ace/config.h   五、将$ACE_ROOT/include/makeinclude/platform_linux.GNU复制成   $ACE_ROOT/include/makeinclude/platform_macros.GNU并修改   $ACE_ROOT/include/makeinclude/platform_macros.GNU文件:   添加:   CC = xscale_be-gcc   CXX = xscale_be-g++   删除:   insure ?= 0   ifeq ($(insure),1)    CC = insure    CXX = insure   else    CC ?= gcc    CXX ?= g++   endif   六、修改$ACE_ROOT/include/makeinclude/platform_g++_common.GNU文件,注释第90行:LDFLAGS += -Wl,-E   七、进入$ACE_ROOT,直接输入make    八、将生成的libACE.so.5.5.6复制到DA66x的CF卡上/mnt/had/lib,并编辑DA662的/etc/profile,在该 文件中添加export LD_LIBRARY_PATH="/mnt/hda/lib: $LD_LIBRARY_PATH "   九、另外,gperf目录下的测试程序没法编译,由于这些测试程序要用的经过。    $(ACE_ROOT)/apps/gperf/src/目录下的相关源代码生成的gperf程序去完成下一步动做,而这个程序是利用交叉编译器生成 的,不能在PC上运行。所以在GNUmakefile里面的all:后面,咱们要删除cppinset adainset cinset iinset iinset2 m3inset pinset preinset taoinset tinset这些目标对象。   十、整个编译过程要30分钟左右,看机器性能。    插曲:一开始笔者使用的是platform_macosx.GNU,对这个文件作了适当的调整而后命名为platform_macros.GNU,缘由 是他们很类似。结果一开始编译还挺顺利的,但是没一会(在编译ACEXML的时候)就编译不下去了,晕死了!并且生成的libACE.so库也有问题!后 来在网上看到其它网友在Linux下编译ACE,受到启发,改用platform_linux.GNU,而且直接   添加:   CC = xscale_be-gcc   CXX = xscale_be-g++
相关文章
相关标签/搜索