Chinaunix首页 | 论坛 | 博客
  • 博客访问: 285847
  • 博文数量: 124
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 21
  • 用 户 组: 普通用户
  • 注册时间: 2016-08-20 14:44
文章分类

全部博文(124)

文章存档

2020年(1)

2018年(2)

2016年(2)

2015年(6)

2014年(10)

2013年(23)

2012年(7)

2011年(18)

2010年(15)

2009年(8)

2007年(8)

2006年(23)

2005年(1)

我的朋友

分类:

2011-05-06 15:55:32

ACE TAO在solaris下的编译!
1. 编译需要sun studio 11来完成12好像会报告很多错误.
2. 编译源文件需要为unix格式(否则有很多宏编译失败),而zip解压后其中是dos格式的文件!
3. 在ace/Array_Map.h的124行会检查是否为SUN CC编译器,但是由于该版本比较高.导致__SUNPRO_CC的值比较大,导致该行编译宏检查失败.

解决方案:
1. 下载11
2. 在$ACE_ROOT的父目录中运行 find ./ACE_wrappers -type f >file_list得到所有文本文件的列表.
   然后编写小脚本进行格式转换(d2u)
#/usr/bin/ksh
for i in "$@"
do
dos2unix $i >a
mv a $i
done

3. cat  file_list | xargs d2u
4. 在Array_Map.h的124行,只保留对__SUNPRO_CC的检查,删除值大小和另外一个宏的检测!
5. 创建config.h 用命令 echo '#include 'ace/config-sunos5.10.h' > $ACE_ROOT/ace/config.h
6. 创建platform_macros.GNU 用命令: echo 'include $(ACE_ROOT)/include/makeinclude/platform_sunos5_sunc++.GNU' > $(ACE_ROOT)/include/makeinclude/platform_macros.GNU
7. 进入$ACE_ROOT/ace 运行make
8. 进入$ACE_ROOT/TAO 目录运行make
9. 进入apps/gperf 运行make. 如果没有此行.好像实际编译程序会出错!


在window XP cygwin下编译:
1. 需要在config.h中添加:
#define ACE_HAS_4_4BSD_SENDMSG_RECVMSG
2. 编译中出现有些函数找不到的情况! 可以试着找到源码的位置! 然后从zip文件重新解压该文件!(不知道是不是rar的bug, 文件会解丢了)

$ACE_ROOT/TAO/TAO_IDL/fe/fe_lookup.cpp 在window下和solaris下都曾经出过错! 很奇怪!

阅读(1824) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~