当前位置: 首页 > 工具软件 > Tao-AutoDAO > 使用案例 >

linux编译ace tao,ACE_TAO的编译

松建本
2023-12-01

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下都曾经出过错! 很奇怪!

阅读(1477) | 评论(0) | 转发(1) |

 类似资料: