Windows下VC编译OpenDDS
2020-11-24 19:23
标签:android des style blog class code OpenDDS是一个OMG组织DDS标准的C++开源实现,OpenDDS同时也提供Java支持。OpenDDS依赖ACE抽象层来提供不同平台的兼容性,同时也依赖于TAO(例如TAO的IDL编译器)。当前OpenDDS有ociweb
ObjectComputing维护,官方网站http://www.opendds.org/。目前OpenDDS支持的平台有Windows,Linux
family,Android,VxWorks等,可用的编译器包括VC,gcc,QNX gcc等。 1. OpenDDS编译准备 OpenDDS如上文所述依赖TAO(TAO依赖于ACE),同时也依赖Perl。Perl在OpenDDS的作用是1. 运行自动测试脚本或OpenDDS例程
2.
MPC依赖于Perl生成Makefiles或者VC项目文件。所以编译OpenDDS的第一步需要建立OpenDDS依赖的环境即:编译TAO+ACE、配置Perl环境。 a. TAO+ACE 因为TAO依赖ACE,在ACE之上,所以最好捆绑下载配套的ACE+TAO发布版本。ACE+TAO的下载网站http://download.dre.vanderbilt.edu/,下载最新版本的ACE+TAO.zip。网站下载有两种版本可供选择Full版和Sources
Only版,Full指的是项目文件已经生成的版本(包括GNUMakefiles和VC项目文件),Sources
Only版本仅仅包含源代码,需要自己使用MPC生成makefile。 b. Perl Windows环境下,可下载ActiveState
Perl。 c. OpenDDS OpenDDS下载地址http://download.ociweb.com/OpenDDS/。 2. 安装Perl 3. 编译TAO+ACE 编译TAO+ACE可参考http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/TAO/TAO-INSTALL.html。 a. 解压ACE+TAO-6.2.6.zip,我的解压路径是D:\。 b. 设置相关环境变量 ACE_ROOT设置为zip解压后的根目录,我的为D:\ACE_wrappers; TAO_ROOT设置为%ACE_ROOT%\TAO,我的为D:\ACE_wrappers\TAO; PATH添加%ACE_ROOT%\lib和%ACE_ROOT%\bin。 c. 设置config.h 于%ACE_ROOT%/ace下新建一个配置文件config.h,内容为#include “ace/config-win32.h”。 d. 编译 Platform File Name VC7.1 name_vc71 VC8 for desktop/server name_vc8 VC8 for Windows CE/Mobile name_WinCE VC9 for desktop/server name_vc9 VC10 for desktop/server name_vc10 VS2012 name_vc11 也可以使用VS命令行工具进行编译。Debug版本和Release版本的编译命令分别如下: 4. 编译OpenDDS a. 解压OpenDDS压缩文件,我的解压路径是D:\ b. 设置相关环境变量 设置%DDS_ROOT%为OpenDDS解压后的根目录,我的为D:\DDS; PATH添加% DDS_ROOT %\lib和% DDS_ROOT %\bin。 c. 编译OpenDDS 打开DDS.sln进行编译。文件名与编译器版本的对应关系与TAO相同。 NOTE:
OpenDDS不提供VS2012版本的工程文件,所以使用VS2012或更高版本的IDE打开解决方案文件时,需要更新解决方案与项目文件。但是在更新过程中有可能出错,我遇到的是pre
include路径变成乱码的错误,需要重新更新一下。当然最好的办法是直接使用对应的版本编译。 可以使用VS命令行工具进行编译。命令如下: 5. 运行测试脚本 编译完成之后,可以运行测试脚本观察是否OpenDDS环境是否搭建成功。切换到D:\DDS\examples\DCPS\Messenger_Imr目录,运行run_test.pl test.log内容如下: 测试通过。 参考文章: Windows 下使用 VC 编译 OpenDDS 的过程 http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/ACE/ACE-INSTALL.html#win32 http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/TAO/TAO-INSTALL.html Windows下VC编译OpenDDS,搜素材,soscw.com Windows下VC编译OpenDDS 标签:android des style blog class code 原文地址:http://www.cnblogs.com/joeywang/p/3719702.html
msbuild ACE_vc11.sln /p:Configuration=Debug > build_ace_debug.log
msbuild ACE_vc11.sln /p:Configuration=Release > build_ace_debug.log
msbuild ACE_TAO_vc11.sln /p:Configuration=Debug > build_tao_debug.log
msbuild ACE_TAO_vc11.sln /p:Configuration=Release > build_tao_debug.log
msbuild DDS_vc10.sln /p:Configuration=Debug > build_dds_debug.log
msbuild DDS_vc10.sln /p:Configuration=Release > build_dds_debug.log
D:\DDS\examples\DCPS\Messenger_Imr>.\run_test.pl > test.log
>>> D:\ACE_wrappers\TAO\orbsvcs\ImplRepo_Service\.\tao_imr_locator.EXE -o imr.ior -orbendpoint iiop://:15021
>>> D:\ACE_wrappers\TAO\orbsvcs\ImplRepo_Service\.\tao_imr_activator.EXE -o activator.ior -ORBInitRef ImplRepoService=file://imr.ior -orbendpoint iiop://:14908
>>> D:\DDS\bin\.\DCPSInfoRepo.EXE -NOBITS -o repo.ior -ORBuseimr 1 -ORBInitRef ImplRepoService=file://imr.ior
>>> D:\ACE_wrappers\bin\tao_imr.EXE -ORBInitRef ImplRepoService=file://imr.ior shutdown InfoRepo
>>> D:\ACE_wrappers\bin\tao_imr.EXE -ORBInitRef ImplRepoService=file://imr.ior update InfoRepo -l WJY -c "D:\DDS\bin\.\DCPSInfoRepo.EXE -NOBITS -o repo.ior -ORBuseimr 1 -ORBInitRef ImplRepoService=file://imr.ior"
>>> D:\ACE_wrappers\bin\tao_imr.EXE -ORBInitRef ImplRepoService=file://imr.ior list -v
.\.\publisher.EXE -DCPSConfigFile pub.ini -orbendpoint iiop://:16309
.\.\subscriber.EXE -DCPSConfigFile sub.ini
Message: subject = Review
subject_id = 99
from = Comic Book Guy
count = 0
text = Worst. Movie. Ever.
SampleInfo.sample_rank = 0
Message: subject = Review
subject_id = 99
from = Comic Book Guy
count = 1
text = Worst. Movie. Ever.
SampleInfo.sample_rank = 0
Message: subject = Review
subject_id = 99
from = Comic Book Guy
count = 2
text = Worst. Movie. Ever.
SampleInfo.sample_rank = 0
Message: subject = Review
subject_id = 99
from = Comic Book Guy
count = 3
text = Worst. Movie. Ever.
SampleInfo.sample_rank = 0
Message: subject = Review
subject_id = 99
from = Comic Book Guy
count = 4
text = Worst. Movie. Ever.
SampleInfo.sample_rank = 0
Message: subject = Review
subject_id = 99
from = Comic Book Guy
count = 5
text = Worst. Movie. Ever.
SampleInfo.sample_rank = 0
Message: subject = Review
subject_id = 99
from = Comic Book Guy
count = 6
text = Worst. Movie. Ever.
SampleInfo.sample_rank = 0
Message: subject = Review
subject_id = 99
from = Comic Book Guy
count = 7
text = Worst. Movie. Ever.
SampleInfo.sample_rank = 0
Message: subject = Review
subject_id = 99
from = Comic Book Guy
count = 8
text = Worst. Movie. Ever.
SampleInfo.sample_rank = 0
Message: subject = Review
subject_id = 99
from = Comic Book Guy
count = 9
text = Worst. Movie. Ever.
SampleInfo.sample_rank = 0
>>> D:\ACE_wrappers\bin\tao_imr.EXE -ORBInitRef ImplRepoService=file://imr.ior shutdown InfoRepo
test PASSED.
上一篇:win7家庭版升级win7旗舰版
文章标题:Windows下VC编译OpenDDS
文章链接:http://soscw.com/index.php/essay/22444.html