最近编译CycloneDDS和CycloneDDS-CXX踩了两个坑,花了不少时间。

做个简单的记录,免得以后又踩到。

CycloneDDS-CXX编译依赖CycloneDDS,因此必须先编译CycloneDDS

步骤如下,需要严格按照步骤进行,否则要入坑

$ git clone https://github.com/eclipse-cyclonedds/cyclonedds.git
$ cd cyclonedds
$ mkdir build
cd build
mkdir install
cmake -DCMAKE_INSTALL_PREFIX=./install ..
CMAKE_INSTALL_PREFIX用于指定编译后的安装路径
cmake --build . --target install
以上步骤完成CycloneDDS的编译和安装,生成的bin include lib等位于install目录下面
接下来编译CycloneDDS-CXX
$ git clone https://github.com/eclipse-cyclonedds/cyclonedds-cxx.git
$ cd cyclonedds-cxx
$ mkdir build
cd build
mkdir install
cmake -DCMAKE_INSTALL_PREFIX=./install -DCMAKE_PREFIX_PATH="${CycloneDDS}/build/install" .. #一定注意加引号
CMAKE_PREFIX_PATH表示CycloneDDS-CXX依赖的CycloneDDS的安装路径
${CycloneDDS}表示CycloneDDS源码所在路径
cmake --build .
cmake --build . --target install
完成以上步骤后,编译OK