文档章节

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

f
 freecamel
发布于 2012/06/07 16:38
字数 501
阅读 106
收藏 0
1、在安装有Linux操作系统的PC上安装交叉编译器,笔者使用的是Moxa tool chain for DA66x,(其它的嵌入式Linux系统都是一样的做法),可以从 Moxa网站上下载



  2、将ACE程序包下载到Linux PC上,并解压

  3、设置环境变量:

  A、交叉编译工具的路径:export PATH=“/usr/local/xscale_be/bin:$PATH”

  B、ACE_ROOT:export ACE_ROOT=“/home/jun/ACE_wrappers”(根据实际路径设置)

  4、将$ACE_ROOT/ace/config-linux.h复制成$ACE_ROOT/ace/config.h

  cp $ACE_ROOT/ace/config-linux.h $ACE_ROOT/ace/config.h

  5、将$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

  6、修改$ACE_ROOT/include/makeinclude/platform_g++_common.GNU文件,注释第90行:LDFLAGS += -Wl,-E

  7、进入$ACE_ROOT,直接输入make

   8、将生成的libACE.so.5.5.6复制到DA66x的CF卡上/mnt/had/lib,并编辑DA662的/etc/profile,在该 文件中添加export LD_LIBRARY_PATH="/mnt/hda/lib: $LD_LIBRARY_PATH "

  9、另外,gperf目录下的测试程序无法编译,因为这些测试程序要用的通过。

   $(ACE_ROOT)/apps/gperf/src/目录下的相关源代码生成的gperf程序去完成下一步动作,而这个程序是利用交叉编译器生成 的,不能在PC上运行。因此在GNUmakefile里面的all:后面,我们要删除cppinset adainset cinset iinset iinset2 m3inset pinset preinset taoinset tinset这些目标对象。

  10、整个编译过程要30分钟左右,看机器性能。

   插曲:一开始笔者使用的是platform_macosx.GNU,对这个文件做了适当的调整然后命名为platform_macros.GNU,原因 是他们很相似。结果一开始编译还挺顺利的,可是没一会(在编译ACEXML的时候)就编译不下去了,晕死了!而且生成的libACE.so库也有问题!后 来在网上看到其它网友在Linux下编译ACE,受到启发,改用platform_linux.GNU,并且直接

  添加:

  CC = xscale_be-gcc

  CXX = xscale_be-g++

© 著作权归作者所有

f
粉丝 7
博文 13
码字总数 69258
作品 0
杭州
程序员
私信 提问
使用 ACE 库框架在 UNIX 中开发高性能并发应用

Adaptive Communication Environment (ACE) 是一个高性能、开放源码、面向对象的框架和 类库,它有助于简化网络应用程序的开发。ACE 工具包包括一个操作系统层和一个封装网络 API 的 外观(f...

红薯
2009/08/12
2.6K
2
转:学之者生,用之者死——ACE历史与简评

学之者生,用之者死——ACE历史与简评 陈硕 (giantchen_AT_gmail) Blog.csdn.net/Solstice 2010 March 10 ACE 是现代面向对象网络编程的鼻祖,确立了许多重要模式,如 Reactor、Acceptor 等,...

DEC_LIU
2010/08/10
3.2K
7
UBuntu9.10用NetBeans6.8RC1开发ACE5.7程序

我原来一直使用Emacs开发Linux下的C++程序,但是自从我新买了电脑(硬件够快),我决定享受一下NetBeans带来的强大功能。有人说用Java开发的IDE来开发C++很奇怪,不过对我这种C++,Java程序都...

长平狐
2012/08/28
176
0
用NDK编译ACE在Android上运行

1.准备工具链 ./build/tools/make-standalone-toolchain.sh --toolchain=arm-linux-Androideabi-4.4.3 --arch=arm --platform=android-9 --install-dir=../arm_tools 2.Create ace/config.h:......

鉴客
2011/11/04
2K
1
我理解的BOOST

最近在使用BOOST做我们的高性能服务端开发 我很奇怪很多人对于ASIO的评价 说其效率不高,但我认为是他们根本没有做好他们改做的扩展。 我们在开发高性能服务端时曾经对于ASIO和ACE做了比较和...

KOANGEL
2009/03/26
1K
1

没有更多内容

加载失败,请刷新页面

加载更多

mysql-connector-java升级到8.0后保存时间到数据库出现了时差

在一个新项目中用到了新版的mysql jdbc 驱动 <dependency>     <groupId>mysql</groupId>     <artifactId>mysql-connector-java</artifactId>     <version>8.0.18</version> ......

ValSong
今天
5
0
Spring Boot 如何部署到 Linux 中的服务

打包完成后的 Spring Boot 程序如何部署到 Linux 上的服务? 你可以参考官方的有关部署 Spring Boot 为 Linux 服务的文档。 文档链接如下: https://docs.ossez.com/spring-boot-docs/docs/r...

honeymoose
今天
6
0
Spring Boot 2 实战:使用 Spring Boot Admin 监控你的应用

1. 前言 生产上对 Web 应用 的监控是十分必要的。我们可以近乎实时来对应用的健康、性能等其他指标进行监控来及时应对一些突发情况。避免一些故障的发生。对于 Spring Boot 应用来说我们可以...

码农小胖哥
今天
8
0
ZetCode 教程翻译计划正式启动 | ApacheCN

原文:ZetCode 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远。 ApacheCN 学习资源 贡献指南 本项目需要校对,欢迎大家提交 Pull Request。 ...

ApacheCN_飞龙
今天
5
0
CSS定位

CSS定位 relative相对定位 absolute绝对定位 fixed和sticky及zIndex relative相对定位 position特性:css position属性用于指定一个元素在文档中的定位方式。top、right、bottom、left属性则...

studywin
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部