您好,登錄后才能下訂單哦!
需要準備:Visual Studio,并安裝Windows SDK,還需要安裝 ActivePerl
我的平臺是 VS2015 + OpenDDS-3.13.2
1.OpenDDS下載:
鏈接:http://opendds.org/downloads.html
建議順便下載官方文檔:http://download.objectcomputing.com/OpenDDS/OpenDDS-latest.pdf
如果文檔下載速度太慢可以百度網盤下載:https://pan.baidu.com/s/1fLYh2jA6B1rIAWNFOPtQ0Q
將根目錄添加進系統環境變量中:
DDS_ROOT = G:\OpenDDS-3.13.2
2.Perl
OpenDDS是一款跨平臺的開源軟件,考慮到不同用戶的平臺和開發環境的需要,使用跨平臺語言Perl作為腳本語言。在perl官網上下載ActiveState Perl版本:https://www.activestate.com/products/activeperl/downloads/,選擇最新版下載。下載完成之后,直接安裝即可。
安裝完成之后,cmd輸入perl -v進行驗證:
出現以上提示,說明安裝成功。
3.ACE+TAO下載:
鏈接:http://download.dre.vanderbilt.edu/
選擇?Latest ACE+TAO Micro Release?下面的就可以.
將下載好的壓縮文件解壓到對應的文件目錄下,然后在系統中添加環境變量:
ACE_ROOT: C:\OpenDDS\ACE_wrappers
TAO_ROOT: C:\OpenDDS\ACE_wrappers\TAO
然后在環境變量Path中添加路徑:%ACE_ROOT%\lib;%ACE_ROOT%\bin
4.編譯ACE+TAO
當ACE+TAO的環境配置好之后,在%ACE_ROOT%\ace目錄下新建一個名為config.h的文件,在文件中添加如下內容:#include “ace/config-win32.h”,表示在win32環境下使用。
分別進入%ACE_ROOT%目錄、%ACEROOT%\TAO目錄,用Visual Studio打開與VS版本匹配的ACE.sln、TAOACE.sln文件,例如VS2015就打開TAO_ACE_vs2015.sln。進入之后重定解決方案目標:項目 -?重定解決方案目標,然后點確定就行,等待自動配置完成
然后編譯源碼。方法有兩種:第一種是直接在VS中選擇?生成 -?生成解決方案 ,第二種是啟動VS的開發人員命令行,定位到%ACE_ROOT%\TAO下,使用以下命令編譯:
msbuild TAO_ACE_vs2015.sln /p:Configuration=Debug;Platform=x64 /m:2
解釋下參數:
Configuration=Debug代表debug編譯
Platform=x64代表強制編譯為64位版本,原因:如果需要使用Java進行OpenDDS開發,考慮到目前絕大多數人都在使用64位版本的JDK,如果不將OpenDDS編譯為64位版,則無法進行JNI調用
/m:2?代表使用兩個線程并行編譯,實測比起單線程能節省不止一半的時間,建議設置為和自己CPU數一致
耗時很長,等待完成即可
5.編譯OpenDDS
啟動VS的開發人員命令行,定位到G:\OpenDDS-3.13下,輸入 .\configure?命令(如果要開啟java支持,需要使用 .\configure --java),等待命令執行完畢
如果提示:
ERROR: Could not detect Visual C++ version, try running this script "."from the Visual Studio Command Prompt.Stopped
,請在configure文件中添加下面內容到438行(根據自己使用的vs版本修改,我使用的是2015所以寫vs2015或vc14):
$opts{'compiler_version'} = "vc14";
此時程序自動生成了DDS.sln文件和setenv.cmd文件,在命令行執行setenv.cmd設置環境變量,然后打開新生成的sln文件、重定項目目標,然后編譯源碼并等待操作完成
6.測試
OpenDDS自帶了很多實例,存放在%DDS_ROOT%\examples和%DDS_ROOT%\tests\DCPS下
隨便挑一個運行里面的run_test.pl,能正常收發數據即可.
輸入指令perl run_test.pl
運行成功,如下圖所示:
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。