最近编译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