目录
以自动驾驶中的横向控制为例,对Linux下基于vscode和Cmake的C++开发进行说明
关于横向控制算法的具体说明,详见这篇博客:自动驾驶LQR横向控制算法C++实现
关于Cmake构建项目的具体说明,详见这篇博客:Cmake基础知识及项目构建
1.准备过程
//1.Python库安装
sudo apt-get install python3-dev
//2.Numpy库安装
sudo apt-get install python3-numpy
//3.Eigen库安装
sudo apt-get install libeigen3-dev
//4.matplotlib库安装
sudo apt-get install python3-matplotlib
//5.matplotlibcpp.h头文件下载
https://github.com/lava/matplotlib-cpp.git
2.整体结构
3.CMakeLists
cmake_minimum_required(VERSION 3.0)
project(lqr_control_01)
#Eigen库
find_package(Eigen3 REQUIRED)
include_directories(${EIGEN3_INCLUDE_DIR})
find_package(PythonLibs REQUIRED)
include_directories(${PYTHON_INCLUDE_DIRS})
include_directories(${PROJECT_SOURCE_DIR}/include)
file(GLOB SRC_LIST ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp)
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
add_executable(lqr_control ${SRC_LIST})
target_link_libraries(lqr_control ${PYTHON_LIBRARIES})
4.运行结果
4.1 cd ./build
切换到build目录下
4.2 cmake ..
执行cmake命令之后,结果如下:
4.3 make
执行make命令后,在bin目录下生成可执行文件,结果如下:
4.4 运行可执行程序
运行可执行程序的指令为../bin/lqr_control(因当前目录为build目录,..表示上一级目录)