win10
perl
vs2013
ACE+TAO下载地址:http://download.dre.vanderbilt.edu/
OpenDDS下载地址:http://download.ociweb.com/OpenDDS/
如果需要下载旧版本,提供如下地址:
ACE+TAO:http://download.dre.vanderbilt.edu/previous_versions/
OpenDDS:http://download.ociweb.com/OpenDDS/previous-releases/
注:
1 ACE+TAO下载选择FULL版本。FULL版本包含工程文件,Sources only版本仅包含源代码。
2 Windows下选择*.zip格式,Linux下选择*.tar.gz格式。
3 本次编译版本为ACE+TAO-6.4.1和OpenDDS-3.7。
网上有安装包,直接百度安装就行,注意32位和64位。如果已经安装了,可以在cmd用perl -v命令查看版本。
编译OpenDDS需要ACE+TAO提供支持,所以编译顺序为:ACE->TAO->OpenDDS。
本次编译将解压后的ACE+TAO-6.4.1和OpenDDS-3.7放在D盘下DDS文件夹中,位置根据自己习惯而定。
在path中添加路径:
D:\DDS\ACE+TAO-6.4.1\ACE_wrappers\bin
D:\DDS\ACE+TAO-6.4.1\ACE_wrappers\lib
D:\DDS\OpenDDS-3.7\bin
D:\DDS\OpenDDS-3.7\lib
在设置环境变量时注意格式和路径不要出错。
1 在ACE+TAO-6.4.1\ACE_wrappers\ace文件夹中添加config.h头文件,内容为:
#include "ace/config-win32.h"
2 下载的ACE+TAO-6.4.1\ACE_wrappers中自带了vs的工程文件,可以用合适的vs版本打开然后直接编译,也可以用vs开发人员命令提示符编译。如果用命令提示符编译,进入ACE+TAO-6.4.1\ACE_wrappers,输入命令:
msbuild ACE_vc12.sln/p:Configuration=Debug > build_ace_debug.log
我用的vs2013编译环境,所以用了vc12。编译完成,这里警告可以不用管:
msbuildTAO_ACE_vc12.sln /p:Configuration=Debug > build_tao_debug.log
1 在D:\DDS\OpenDDS-3.7中修改configure文件,在第356行(具体行数根据后面执行./configue的结果)添加代码:
$opts{'compiler_version'} = "vc12";
然后用vs开发人员命令控制符进入D:\DDS\OpenDDS-3.7,命令:
configure
此时会生成vs工程文件,可以选择在vs里面编译,也可以在命令控制符里编译。命令:
msbuild DDS_vc12.sln/p:Configuration=Debug > build_dds_debug.log
进入D:\DDS\OpenDDS-3.7\examples\DCPS\Messenger_Imr,运行run_test.pl:
此时会出现信息,最后出现test PASSED表示OpenDDS环境搭建成功。
后记:
搭建过程是一个比较繁琐的过程,中间也走了许多弯路,前前后后花了好几天,最终测试通过真的很开心。上述步骤会因为不同的版本,不同的系统而不同,但整体流程是这样,如果编译过程中出现文中没有提及的问题或者错误,需要自己静下心去排错,其实很多问题只是一些自己忽视了的小问题。谨以此文记录这几天的编译过程。