1. 下載1.9源碼(git下載,自動安裝第三方庫):
git clone https://github.com/eProsima/Fast-RTPS.git --branch v1.9.0
2. 安裝foonathan_memory:
進入Fast-RTPS/thirdparty目錄:
$ git clone https://github.com/foonathan/memory.git
$ cd memory
$ git submodule update --init --recursive
$ mkdir build && cd build
$ cmake -DCMAKE_CXX_FLAGS=-fPIC ..
$ cmake --build . --target install
3.安裝Fast-RTPS-1.9:
進入Fast-RTPS/build目錄:
$cmake -DBUILD_JAVA=ON -DCOMPILE_EXAMPLES=ON -DPERFORMANCE_TESTS=ON -DTHIRDPARTY=ON -DCMAKE_PREFIX_PATH=[foonathan_memory所在目錄]/build/install/ ..
$make
$make install DESTDIR=[安裝目錄]
說明:
-DBUILD_JAVA --用於生成fastrtpsgen,需提前安裝JAVA
-DCOMPILE_EXAMPLES --用於編譯examples目錄下的例子程序
-DPERFORMANCE_TESTS --用於編譯test/performance下的性能測試程序
-DTHIRDPARTY --用於自動下載編譯第三方依賴庫,包括asio/tinyxml等,如果在ros下使用FastRTPS需要將此選項OFF掉,因爲ros也依賴了tinyxml庫,會導致庫不一致的問題。
-DCMAKE_PREFIX_PATH --搜索路徑
DESTDIR --安裝目錄,不指定時會安裝到/usr/local下,指定後,需要配置環境變量:
export FASTRTPS_ROOT=[你的目錄]/Fast-RTPS-1.9/usr/local/
export PATH=$FASTRTPS_ROOT/bin:$PATH
export LD_LIBRARY_PATH=$FASTRTPS_ROOT/lib:$LD_LIBRARY_PATH
export LIBRARY_PATH=$FASTRTPS_ROOT/lib:$LIBRARY_PATH
export C_INCLUDE_PATH=$FASTRTPS_ROOT/include:$C_INCLUDE_PATH
export CPLUS_INCLUDE_PATH=$FASTRTPS_ROOT/include:$CPLUS_INCLUDE_PATH