加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
Baidu Apollo的CMakeLists版本

1. Reference:
    https://github.com/yuzhangbit/apollo_standalone
    The Cyber and part of routing has been done in the reference project. The open_space_planner has been done.
    In this project, the integral apollo project has been build successfully with CMakeLists.


2. OS: ubuntu 16.04  64bit


3. Dependencies:
    protobuf(3.3.0)
    gflags(2.2.0), glog(0.3.5)
    qpOASES(master)
    osqp(0.4.1)
    curlpp(dev)
    tinyxml2(master)
    proj4(4.9.3)
    ipopt(3.12.11)
    adol-c(2.6.3)
    Eigen(dev)
    Pyhton3 dev
    matplotlib
    Abseil - C++ Common Libraries (make and make install)
    Cuda(optional, 9.0)

    In scripts folder, there are bashes which can be used as reference to install dependencies 


4. Build
    mkdir -p src/apollo/build && cd src/apollo/build
    cmake ..
    make -j$(nproc)
    sudo make install


5. How to use Apollo in other CMakeLists Projects?

    Once the installation is done successfully, the apollo codes can be used in other cmake projects by 'find_package'

    Example:
        cmake_minimum_required(VERSION 3.5.1)
        project(example_project)
        set(CMAKE_CXX_STANDARD 11)
        list(APPEND CMAKE_PREFIX_PATH "/apollo")
        find_package(apollo 5.0.0 CONFIG REQUIRED)
        add_executable(listener src/listener.cc)
        target_link_libraries(listener apollo::cyber)
        add_executable(talker src/talker.cc)
        target_link_libraries(talker apollo::cyber)

    Steps:
        1. Find the apollo targets by the config mode:            
            list(APPEND CMAKE_PREFIX_PATH "/apollo")
            find_package(apollo 5.0.0 CONFIG REQUIRED)

        2. Link against the targets you need
           For example, if you call some functions from 'modules/planning', you can link 'apollo::planning'
           Example:
            add_executable(foo src/foo.cc)
            target_link_libraries(foo apollo::planning)
            or
            add_library(foo src/foo.cc)
            target_link_libraries(foo apollo::planning)
            
            If you only use the protobuf interface of a module, link against the corresponding interface library:
            Example:
                add_executable(foo src/foo.cc)
                target_link_libraries(foo apollo::perception_proto)
            
            The dependencies are exported along with these apollo targets.


6. Examples:
    6.1 open_space_planner
    6.2 Parser_map_data_and_show ( has not fininshed )
    6.3 planning_demo ( has not fininshed )
    6.4 routing_demo ( has not fininshed )

空文件

简介

暂无描述 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化