fastdds安裝測(cè)試
依賴庫(kù)安裝
準(zhǔn)備工作
如果支持apt擎淤,則預(yù)先:brew install cmake python3 wgetbrew install asio tinyxml2
否則塔猾,自行編譯獲得基本工具
fastcdr
C++ 庫(kù)桥滨,提供了兩種序列化機(jī)制臭埋。一種是標(biāo)準(zhǔn)的CDR序列化機(jī)制蛇捌,另一種是修改標(biāo)準(zhǔn)的更快實(shí)現(xiàn)
wget https://ghproxy.com/https://github.com/eProsima/Fast-CDR/archive/refs/tags/v1.0.25.tar.gz
mkdir build
cmake .. -DCMAKE_INSTALL_PREFIX=$PWD/install
cmake --build . --target install
tinyxml2
git clone https://github.com/leethomason/tinyxml2.git
支持:armv7hd,armv8/aarch64务漩,x86_64
- x86 測(cè)試 locate tinyxml,x86安裝完成
- armv7 編譯后賦值到交叉編譯環(huán)境/usr/*
asio
boost.asio,使用standalone模式它褪,僅僅使用asio饵骨,頭文件即可
wget https://github.com/chriskohlhoff/asio/archive/refs/tags/asio-1-24-0.tar.gz
1、./autogen.sh
2茫打、./configure --prefix=$PWD/install
3居触、make&&make install
#--host指定要交叉編譯的平臺(tái),以arm-linux-gnueabihf為例
#--prefix指定安裝目錄
#--with-boost就是指明Boost庫(kù)的頭文件位置老赤,下載不依賴boost的asio版本可以跳過(guò)這個(gè)選項(xiàng)
./configure --host=arm-Linux-gnueabihf --prefix=asio_myir --with-boost=/usr/local/include
默認(rèn)情況下轮洋,Asio 是一個(gè)只有頭文件的庫(kù)。所以這里直接
make诗越;make install
將下載的頭文件安裝到指定路徑即可
經(jīng)過(guò)以上步驟“安裝路徑”/include會(huì)生成頭文件
Foonathan_memory
是一個(gè)經(jīng)過(guò)優(yōu)化的分配器
Tags · foonathan/memory (github.com)
先編譯這個(gè)砖瞧,獲得:libfoonathan_memory-0.7.2.a libfoonathan_memory-0.7.2.so
源碼路徑
mkdir build
關(guān)閉所有主功能外的功能
cmake .. -DFOONATHAN_MEMORY_BUILD_EXAMPLES=OFF -DFOONATHAN_MEMORY_BUILD_TESTS=OFF -DFOONATHAN_MEMORY_BUILD_TOOLS=OFF -DCMAKE_INSTALL_PREFIX=安裝路徑
make
make install
verndor為測(cè)試息堂,暫時(shí)不用
git clone https://github.com/eProsima/foonathan_memory_vendor.git
mkdir foonathan_memory_vendor/build && cd foonathan_memory_vendor/build
cmake .. -DCMAKE_INSTALL_PREFIX=./install -DBUILD_SHARED_LIBS=ON
cmake --build . --target install
wget https://github.com/eProsima/foonathan_memory_vendor/archive/refs/tags/v1.2.1.tar.gz
經(jīng)過(guò)以上步驟“安裝路徑”/lib下會(huì)生成Foonathan_memory庫(kù),“安裝路徑”/include會(huì)生成頭文件
fastrtps
編譯rtps庫(kù)需要以上四個(gè)庫(kù)全部爭(zhēng)取安裝嚷狞,編譯前請(qǐng)先檢查編譯工具環(huán)境下(CMAKE_FIND_ROOT_PATH)下lib和include是否存在以上四個(gè)庫(kù)對(duì)應(yīng)的文件,確認(rèn)環(huán)境無(wú)誤后進(jìn)行以下步驟荣堰;
- git clone https://github.com/eProsima/Fast-DDS.git
- 確認(rèn):CmakeList中的BUILD_SHARED_LIBS 選項(xiàng)可配置是否生成動(dòng)態(tài)庫(kù)和靜態(tài)庫(kù)
測(cè)試
參考
1床未、fastdds交叉編譯