提綱
1、概述
2、foonathan_memory_vendor
3、fast-cdr
4、fast-dds
5、編譯HelloWorldExample
6、安裝fast-dds-gen,使用IDL文件構(gòu)建代碼
fastdds是干什么,就不重復(fù)說了。
操作系統(tǒng)是Ubuntu18.04
本次采用源碼編譯安裝,需要使用到以下的包:
1.foonathan_memory_vendor
2.fast-cdr
3.fast-dds
獲取foonathan_memory_vendor:
cd ~/Fast-DDS
git clone https://github.com/eProsima/foonathan_memory_vendor.git
mkdir foonathan_memory_vendor/build
cd foonathan_memory_vendor/build
cmake .. -DCMAKE_INSTALL_PREFIX=~/Fast-DDS/install -DBUILD_SHARED_LIBS=ON
cmake --build . --target install
獲取fast-cdr:
cd ~/Fast-DDS
git clone https://github.com/eProsima/Fast-CDR.git
mkdir Fast-CDR/build
cd Fast-CDR/build
cmake .. -DCMAKE_INSTALL_PREFIX=~/Fast-DDS/install
cmake --build . --target install
獲取fast-dds:
cd ~/Fast-DDS
git clone https://github.com/eProsima/Fast-DDS.git
mkdir Fast-DDS/build
cd Fast-DDS/build
cmake .. -DCMAKE_INSTALL_PREFIX=~/Fast-DDS/install
cmake --build . --target install
在編譯過程中cmake的版本會過低,18.04更新的cmake為3.10左右,fast-dds需要3.16以上
可以進入cmake官網(wǎng)下載相應(yīng)版本,我采用的是 cmake-3.16.6.tar.gz
解壓后
cd cmake-3.16.6
./bootstrap
make
make install
如果本身的cmake版本很高,可以忽略這步。
如上,完成編譯安裝后需要添加環(huán)境:
gedit ~/.bashrc
export LD_LIBRARY_PATH=/home/mkt/Fast-DDS/install/lib
注意改成自己的路徑
編譯成功后開始測試fast-dds的helloworld
定位地址~/Fast-DDS/Fast-DDS-master/examples/cpp/dds/HelloWorldExample
cd ~/Fast-DDS/Fast-DDS/examples/cpp/dds/HelloWorldExample
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=~/Fast-DDS/install
make
獲得如下內(nèi)容:
運行兩終端,分別執(zhí)行發(fā)布和訂閱
./DDSHelloWorldExample publisher
./DDSHelloWorldExample subscriber
先安裝依賴環(huán)境:
sudo apt install openjdk-8-jdk
參考官網(wǎng)執(zhí)行如下操作:
cd ~~/Fast-DDS/
git clone --recursive https://github.com/eProsima/Fast-DDS-Gen.git
cd Fast-DDS-Gen
gradle assemble #這一步會提示找不到gradle,所以執(zhí)行這一步之前要先安裝gradle
#輸出下面的信息,說明fast-dds-gen編譯成功了。
BUILD SUCCESSFUL in 13s
6 actionable tasks: 4 executed, 2 up-to-date
#最后配置fast-dds-gen的環(huán)境變量
gedit ~/.bashrc
export PATH=/home/mkt/Fast-DDS/Fast-DDS-Gen/scripts:$PATH
source /etc/profile
完成這些就可以使用fastddsgen來通過idl文件生成代碼,但是只生成源代碼還不夠,還需要寫cmakelist.txt。
fastddsgen Helloworld.idl
在新路徑下拷貝helloworld.idl,執(zhí)行上述命令,得到如下文件:
至此,fast-dds的基本編譯及使用就完成。但是對fastdds的學(xué)習(xí)來說,這是萬里長征的第一步,后續(xù)還需要做非常多的工作才能了解fastdds。
參考資料
1、https://blog.csdn.net/mkt123338702/article/details/125880446,這篇文章中有很多細節(jié)需要調(diào)整,但是文章沒有說明,需要自己摸索
2、https://bylee.blog.csdn.net/article/details/124705821,這篇文章主要是參考編譯idl。
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
網(wǎng)站題目:Ubuntu18.04安裝fast-dds-創(chuàng)新互聯(lián)
文章源于:http://aaarwkj.com/article0/csoiio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、網(wǎng)頁設(shè)計公司、云服務(wù)器、搜索引擎優(yōu)化、手機網(wǎng)站建設(shè)、服務(wù)器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容