2022-VS2015-ACE+TAO(7.0.5)+CIAO+OpenDDS 3.16 编译
ACE+TAO(7.0.5)+CIAO+OpenDDS 3.16 编译
采用ACE+TAO(7.0.5)、CIAO(3.10)-DANCE、OpenDDS-3.16,编译构建OpenDDS系统。本文目的尽量简洁说明ACE+TAO+CIAO+DANCE+OpenDDS构建过程,方便快速生成应用环境。
内容:需要的工具、依赖项目配置、目录组织、环境变量、配置项目依赖mpb、生成VC项目的顺序、处理异常。
1、工具:
vs2015,
ActiveState+Perl 5.34。注意:安装ActivePerl5.28,可生成项目。
2、依赖项目:
解压到OpenDDS\ACE_wrappers\contrib目录下,方便生成。
(1)boost 1.68:添加环境变量 ,
BOOST_ROOT : %ACE_ROOT%\contrib\boost
BOOST_VERSION :1_68
注意:boost 的 include实际路径,%ACE_ROOT%\contrib\boost\include%BOOST_VERSION%\boost
(2)bison-flex:下载bison 2.7,解压到contrib;环境变量
path += %ACE_ROOT%\contrib\bison-flex
(3)libcutl:添加环境变量
CUTL_ROOT : %ACE_ROOT%\contrib\libcutl
(4)openssl 添加环境变量
OPENSSL_ROOT :%ACE_ROOT%\contrib\openssl
(5)xercesc-3.2.3 添加环境变量
XERCESCROOT :%ACE_ROOT%\contrib\xercesc-3.2.3
(6)XSC-master 添加环境变量
https://www.codacy.com/gh/DOCGroup/XSC
XSCROOT:%ACE_ROOT%\contrib\XSC-master
(7)zlib1.2.11 添加环境变量
ZLIB_ROOT : %ACE_ROOT%\contrib\zlib1.2.11
3、配置环境变量
1)目录结构
yourdir:是你的目录。
yourdir
| -ddssrc : 根,OpenDDS的代码目录
|- ACE_wrappers ACE 代码目录
|- TAO TAO 代码目录
|- CIAO CIAO 目录
|- DANCE DaNCE 目录
2)环境变量
ACE_ROOT : yourdir\DDSsrc\ACE_wrappers
TAO_ROOT :%ACE_ROOT%\TAO
CIAO_ROOT:%ACE_ROOT%\TAO\CIAO
DANCE_ROOT: %ACE_ROOT%\TAO\CIAO\DAnCE
DDS_ROOT:yourdir\DDSsrc
3)在path环境变量中添加
%ACE_ROOT%\MPC
%TAO_ROOT%\bin
%ACE_ROOT%\bin
%ACE_ROOT%\lib
%DDS_ROOT%\lib
%DDS_ROOT%\bin
4、配置ace
1)添加 ACE_wrappers\ace\config
2)配置 ACE_wrappers\bin\MakeProjectCreator
(1) 修改 ACE_wrappers\bin\MakeProjectCreator\global.features
…
ssl = 1
java = 1
zlib = 1
boost = 1
xerces3 = 1
…
x11 = 0
gl = 0
…
ace_qtreactor = 0
ace_xtreactor = 0
ace_tkreactor = 0
ace_flreactor = 0
ace_foxreactor = 0
(2) 修改 ACE_wrappers\bin\MakeProjectCreator\vc14.features
qos=1
rwho=0
sctp=0
ssl=0
qt4=0
qt5=0
dummy_label=0
wx=0
fl=0
tk=0
xt=0
zlib=1
xerces3=1
boost=1
mfc=1
cutl=1
3)配置 ACE_wrappers\MPC\config
(1) 添加 ace_svcconf_gen.mpb 文件
// -*- MPC -*-
project {includes += $(ACE_ROOT)/contrib/bison-flex
}
(2) 修改 bison.mpb 文件
project {requires += win_bison
4、编译生成
1)使用mwc.pl脚本创建VC项目
启动cmd/powershell,命令行如:
perl %ACE_ROOT%\MPC\mwc.pl -type vc14 .\your_mwc.mwc。
2)创建并编译VC项目
(1)TAO_ACE
构建生成 ACE & TAO
cd %TAO_ROOT%
perl %ACE_ROOT%\MPC\mwc.pl -type vc14 .\TAO_ACE.mwc
(2)CIAO_TAO_DANCE
构建生成 CIAO & DAnCE
cd %CIAO_ROOT%
perl %ACE_ROOT%\MPC\mwc.pl -type vc14 .\CIAO_TAO_DAnCE.mwc
(3)ALL_DDS
构建 ACE TAO DDS
cd %DDS_ROOT%
perl %ACE_ROOT%\MPC\mwc.pl -type vc14 .\ALL_DDS2.mwc
2)处理编译错误
(1)TAO\CIAO\tools\IDL3_to_IDL2\be_helper.cpp
报错误宏参数太多。
ACE_OSCALL (::vfprintf (this->fp_,format,ap),int,-1,result);
修改为
ACE_OSCALL(::vfprintf(this->fp_,format,ap),int,result);
(2)CIAO\DAnCE\tools\Config_Handlers\DnC_Dump_T.cpp
修改:注释掉“val >>= t;”【注意】,注释后可以编译,但错误尚未解决。
// val >>= t;throw -1;
(3)ace\XML_Utils 中缺少 XML_Typedefs.h 、XML_Typedefs.cpp 文件
注意:下载 ACE-TAO 6.5 ,解压并找到这两个文件,将其拷贝到 DDSsrc\ACE_wrappers\ace\XML_Utils 路径下。
将文件添加到 ACE_XML_Utils 项目中。
5、试验
1)试验DCPS Messager
找到目录:\DDSsrc\tests\DCPS\Messenger,如果没有构建生成publishe\subscriber exe文件,则在 \DDSsrc\ALL_DDS2.mwc 中添加一行:
$(DDS_ROOT)/tests/DCPS/Messenger/Messenger.mpc
再用mwc.pl创建工程并生成试验程序(详见 4 。)
添加两个配置文件:pub1.ini 、sub1.ini,拷贝和修改sub、pub ini。
sub1.ini注意DCPSInfoRepo=corbaloc::192.168.22.1:12345/DCPSInfoRepo
# sub1.ini
[common]
DCPSDebugLevel=0
# 指定网络地址
DCPSInfoRepo=corbaloc::192.168.22.1:12345/DCPSInfoRepo
# DataWriter的缓存分配器可分配的块数。
DCPSChunks=20
DCPSChunkAssociationMutltiplier=10
# 传播延迟因子
DCPSLivelinessFactor=80
DCPSGlobalTransportConfig=$file[transport/t1]
transport_type=tcp
pub1.ini
#pub1.ini
[common]
DCPSDebugLevel=0
DCPSInfoRepo=corbaloc::192.168.22.1:12345/DCPSInfoRepo
DCPSChunks=20
DCPSChunkAssociationMutltiplier=10
DCPSLivelinessFactor=80
DCPSGlobalTransportConfig=$file[transport/t1]
transport_type=tcp
打开cmd 或 powershell
(1) 启动DCPSInfoRepo服务。
DCPSInfoRepo -NOBITS -ORBListenEndpoints iiop://192.168.22.1:12345 -ORBDebugLevel 6 -ORBLogFile DCPSLog.log
或
DCPSInfoRepo -ORBListenEndpoints iiop://192.168.22.1:12345 -ORBDebugLevel 6 -ORBLogFile DCPSLog.log
(2)启动subscriber
.\subscriber.exe -DCPSConfigFile .\sub1.ini
(3)启动publisher
.\publisher.exe -DCPSConfigFile .\pub1.ini
2022-VS2015-ACE+TAO(7.0.5)+CIAO+OpenDDS 3.16 编译相关推荐
- 构建嵌入式版本的 ACE TAO 6.5.3
introduction 之前曾在ubuntu 18.04中构建嵌入式版本的ACE TAO 6.5.3. 在之后使用过程中发现, 当升级系统工具链后, ACE TAO 库不兼容本地环境的系统库.具体表 ...
- ACE+TAO 通信中间件
ACE,JACE,TAO,CIAO,JAWS,ZEN (by huihoo.org Allen) 产品主页 .ACE - The ADAPTIVE Communication Enviro ...
- win7下ACE+TAO环境搭建
平台:win7, 64位,VS2015 步骤: 1. 下载ACE+TAO.zip, 版本:ACE+TAO-6.4.0.zip 下载地址:http://download.dre.vanderbilt.e ...
- linux编译ace tao,CentOS环境下ACE编译指南
CentOS环境下ACE编译指南 1.环境说明: (1)CentOS6.3 (2) ACE6.10 2.编译步骤: (1)定义环境变量: ACE_ROOT=/root/work/cots/ACE_wr ...
- linux编译ace tao,ACE_TAO的编译
ACE TAO在solaris下的编译! 1. 编译需要sun studio 11来完成12好像会报告很多错误. 2. 编译源文件需要为unix格式(否则有很多宏编译失败),而zip解压后其中是dos ...
- ACE+TAO环境搭建 windows平台
最近项目需要用CORBA,记录下windows下ACE+TAO环境搭建,内容为各个地方copy而来,非原创,亲测有效(最近测试时间2019.04.01). 我的平台:win10, 64位,VS2013 ...
- 从Excel中导入数据时,提示“未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序”的解决办法...
注意,64位系统,用64位的补丁文件; https://www.cnblogs.com/A2008A/articles/2438962.html 操作系统:使用的是64位的Windows Server ...
- 未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序
为什么80%的码农都做不了架构师?>>> 错误信息:未在本地计算机上注册"microsoft.ACE.oledb.12.0"提供程序. 解决办法: 立即下载 ...
- “microsoft ace oledb 12.0 未注册”疑云
1. 有人说: 2015也是要安装32位的AccessDataengine,anycpu选32位优先才行,不然就是Microsoft.ACE.OLEDB.12.0未注册. hanstom,一个老调重弹 ...
最新文章
- matlab九节点网络仿真问题,三机九节点电力系统仿真matlab.docx
- 网络编程——sockaddr 与 sockaddr_in
- javafx动画_JavaFX动画工具
- java jar包示例_Java包getImplementationVersion()方法和示例
- libpng warning: iCCP: known incorrect sRGB profile
- EF Code First 学习笔记:约定配置
- 预写式日志 - postgresql之WAL(Write Ahead Log)
- CodeSnippet.info 开源说明 和 环境搭建 (第一版)
- php static 关键字
- qq授权登录。微信授权登录、微博授权登录
- 源文件如何一步步到可执行程序【程序员必修课】
- 【顿悟】会者定离,一期一祈,勿怀忧也,世相如是.
- 国际清算银行:多国央行进行CBDC研究 仅少数推出具体计划
- 21个经典的哲理故事
- (C语言实现)页面置换——先进先出算法(FIFO)
- 基于vs实现的socket—udp图片传送实例详解
- 卡罗林斯卡医学院计算机方向,卡罗林斯卡医学院:全球卫生专业受学生欢迎
- Moonbeam成功续约新一轮的Polkadot插槽租赁期
- java虚拟机臃肿_同样的内核,为什么linux干净稳定,而android臃肿又乌烟瘴气?...
- 计算机与日常使用计算器的本质区别,计算机和计算器的区别