Apollo规划代码Ros移植之-利用cmake编译protobuf

1.安装protobuf

步骤:

sudo apt-get install autoconf automake libtool curl make g++ unzip
git clone https://github.com/protocolbuffers/protobuf
cd protobuf
sh autogen.sh
./configure
make
sudo make install

刷新动态库:

sudo ldconfig

完成查看:

protoc --version

2.CmakeList配置

编译.proto文件,生成pb.h 和 pb.cc文件。
在CmakeList加入这个代码。

#proto
find_package(Protobuf REQUIRED)
include_directories(${Protobuf_INCLUDE_DIRS})
include_directories(${CMAKE_CURRENT_BINARY_DIR})
#指定可执行文件的输出目录,输出到bin下面  
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
#指定库文件输出路径  
set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)

set(PROTO_FILES 
  proto/planning_config.proto
  proto/open_space_task_config.proto
  proto/fem_pos_deviation_smoother_config.proto
  proto/planner_open_space_config.proto
  proto/task_config.proto
)
protobuf_generate_cpp(PROTO_SRCS PROTO_HDRS ${PROTO_FILES})

add_executable(dynamic_node ${SRC_FILE} ${PROTO_HDRS} ${PROTO_SRCS})
target_link_libraries(dynamic_node ${catkin_LIBRARIES} osqp -lxerces-c ${PROTOBUF_LIBRARIES})

其中planning_config.proto是最外层的proto文件。

编译即可

你可能感兴趣的:(自动驾驶笔记和知识分享,自动驾驶,人工智能,机器学习)