1.在apollo/third_party/ 里面增加pylon文件夹

workspace.bazel

"""Loads the OpenCV library"""# Sanitize a dependency so that it works correctly from code that includes
# Apollo as a submodule.
def clean_dep(dep):return str(Label(dep))def repo():native.new_local_repository(name = "pylon",build_file = clean_dep("//third_party/pylon:pylon.BUILD"),path = "/apollo/third_party/pylon/pylon_6.2",)

pylon.BUILD

#TODO(storypku): split opencv into seperate components to speed up build
# e.g., opencv_imgproc/opencv_highgui/...cc_library(name = "pylon",srcs = glob(["lib/*.so*"]),hdrs = glob(["include/**/*.hpp","include/**/*.h"]),includes = ["include"],visibility = ["//visibility:public"], linkstatic = 1,
)

BUILD

package(default_visibility = ["//visibility:public"],
)

注意!

要在apollo/tools/workspace.bzl里面添加两行内容:

load("//third_party/pylon:workspace.bzl", pylon = "repo")
在def initialize_third_party()函数中增加pylon()
# Apollo external dependencies that can be loaded in WORKSPACE files.
load("//third_party/pylon:workspace.bzl", pylon = "repo")
load("//third_party/absl:workspace.bzl", absl = "repo")
load("//third_party/adolc:workspace.bzl", adolc = "repo")
load("//third_party/adv_plat:workspace.bzl", adv_plat = "repo")
load("//third_party/ad_rss_lib:workspace.bzl", ad_rss_lib = "repo")
load("//third_party/atlas:workspace.bzl", atlas = "repo")
load("//third_party/benchmark:workspace.bzl", benchmark = "repo")
load("//third_party/boost:workspace.bzl", boost = "repo")
load("//third_party/civetweb:workspace.bzl", civetweb = "repo")
load("//third_party/cpplint:workspace.bzl", cpplint = "repo")
load("//third_party/eigen3:workspace.bzl", eigen = "repo")
load("//third_party/ffmpeg:workspace.bzl", ffmpeg = "repo")
load("//third_party/fftw3:workspace.bzl", fftw3 = "repo")
load("//third_party/fastrtps:workspace.bzl", fastrtps = "repo")
load("//third_party/glog:workspace.bzl", glog = "repo")
load("//third_party/gtest:workspace.bzl", gtest = "repo")
load("//third_party/gflags:workspace.bzl", gflags = "repo")
load("//third_party/ipopt:workspace.bzl", ipopt = "repo")
load("//third_party/local_integ:workspace.bzl", local_integ = "repo")
load("//third_party/libtorch:workspace.bzl", libtorch_cpu = "repo_cpu", libtorch_gpu = "repo_gpu")
load("//third_party/lz4:workspace.bzl", lz4 = "repo")
load("//third_party/ncurses5:workspace.bzl", ncurses5 = "repo")
load("//third_party/nlohmann_json:workspace.bzl", nlohmann_json = "repo")
load("//third_party/npp:workspace.bzl", npp = "repo")
load("//third_party/opencv:workspace.bzl", opencv = "repo")
load("//third_party/opengl:workspace.bzl", opengl = "repo")
load("//third_party/openh264:workspace.bzl", openh264 = "repo")
load("//third_party/osqp:workspace.bzl", osqp = "repo")
load("//third_party/poco:workspace.bzl", poco = "repo")
load("//third_party/portaudio:workspace.bzl", portaudio = "repo")
load("//third_party/proj:workspace.bzl", proj = "repo")
load("//third_party/protobuf:workspace.bzl", protobuf = "repo")
load("//third_party/qt5:workspace.bzl", qt5 = "repo")
load("//third_party/sqlite3:workspace.bzl", sqlite3 = "repo")
load("//third_party/tinyxml2:workspace.bzl", tinyxml2 = "repo")
load("//third_party/uuid:workspace.bzl", uuid = "repo")
load("//third_party/yaml_cpp:workspace.bzl", yaml_cpp = "repo")
# load("//third_party/glew:workspace.bzl", glew = "repo")load("//third_party/gpus:cuda_configure.bzl", "cuda_configure")
load("//third_party/py:python_configure.bzl", "python_configure")
load("//third_party/tensorrt:tensorrt_configure.bzl", "tensorrt_configure")
load("//third_party/vtk:vtk_configure.bzl", "vtk_configure")
load("//third_party/pcl:pcl_configure.bzl", "pcl_configure")def initialize_third_party():""" Load third party repositories.  See above load() statements. """pylon()absl()adolc()adv_plat()ad_rss_lib()atlas()benchmark()boost()cpplint()civetweb()eigen()fastrtps()ffmpeg()fftw3()gflags()glog()gtest()ipopt()local_integ()libtorch_cpu()libtorch_gpu()lz4()ncurses5()nlohmann_json()npp()opencv()opengl()openh264()osqp()poco()portaudio()proj()protobuf()qt5()sqlite3()tinyxml2()uuid()yaml_cpp()# Define all external repositories required by
def apollo_repositories():cuda_configure(name = "local_config_cuda")tensorrt_configure(name = "local_config_tensorrt")python_configure(name = "local_config_python")vtk_configure(name = "local_config_vtk")pcl_configure(name = "local_config_pcl")initialize_third_party()

在终端输入此行命令检查该库是否增加成功:

ls $(bazel info output_base)/external

可以看到@pylon.marker 和 pylon,说明第三方库已经被增加到bazel里面了。

期间,注意pylon的路径问题,路径出错可是在构建过程中并没有报错,导致一直不成功也没发现原因,后来单独编译此包时发现路径错误,添加正确路径后即可添加成功。

./apollo.sh build_opt
./apollo.sh clean
Usage:/apollo/scripts/apollo_clean.sh [options]
Options:--bazel     Remove bazel output--core      Remove coredump files--log       Remove log files-a, --all   Equivalent to "--bazel --core --log"--expunge   Run "bazel clean --expunge"-h, --help  Show this message and exit可以通过./apollo.sh clean --expunge 去掉bazel第三方库依赖,
再 ./apollo.sh build_opt 可以重新构建bazel第三方库依赖。或许有更简单的方法,欢迎分享。

参考自 https://github.com/ApolloAuto/apollo/blob/master/docs/howto/how_to_add_an_external_dependency.md

apollo如何添加第三方库,以pylon为例相关推荐

  1. VS2010中添加第三方库目录VC++ Directories

    VS2010取消了08之前在options里面添加第三方库目录的设置,新的设置方法如下: View->Property Manager, 在Property Manager框里面有Debug|W ...

  2. AndroidStudio权威教程 AS添加第三方库的6种方式(Jar module so等)

    点击项目设置按钮 依次选择 App > Dependencies 1. 直接搜索法 依次选择 + > Library dependency 这里的搜索一定要是全名的,不然搜不到哦 下图所表 ...

  3. VS中添加第三方库及相对路径设置

    原文 VS中添加第三方库及相对路径设置 对于一些第三方的SDK,一般会包含头文件(*.h),静态库文件(*.lib)和动态库文件(*.dll). 1.  文件位置:为了提高程序的可移植性,将第三库放在 ...

  4. [Ubuntu] apt 添加第三方库

    1. 方法一:直接在 /etc/apt/sources.list 添加第三方库. $ sudo vi /etc/apt/sources.list在其中添加:deb http://archive.scr ...

  5. 如何安装CocoaPods,以便在Xcode中快速添加第三方库

    文章目录 1. 安装CocoaPods 2. 用CocoaPods来添加第三方库 CocoaPods 是一个负责管理 Xcode项目中第三方开源库的工具.CocoaPods项目源码 通过 CocoaP ...

  6. 面向小白visual studio 2019 添加第三方库教程

    虽然我是个linux程序员,但偶尔会在windows上借用visual studio写点demo,因为比较方便,所以今天就教大家如何添加第三方库编写自己的demo程序. 1.项目–>属性 2.C ...

  7. python添加第三方库

    一.pycharm交互操作添加第三方库 1.进去settings设置 2.检查环境中是否有lib 找到project interpreter 右边点击settings按钮 选择show all 确认环 ...

  8. 编译tolua——3、以pbc为例子,添加第三方库

    目录 1.编译工具和环境说明 2.基础编译tolua 3.以pbc为例子,添加第三方库 4.更新luaJit 大家好,我是阿赵. 之前分享过怎样正常编译基础版本的tolua.这次用添加pbc为例,看看 ...

  9. 百度Apollo自定义安装第三方库(以libtorch为例)

    百度Apollo是一个非常优秀的自动驾驶框架,但我们平时在开发中也会遇到各种原repo没有处理的问题.笔者近期想用pytorch的C++前端推理模型,但是遇到了libtorch版本与pytorch版本 ...

最新文章

  1. 【c语言】蓝桥杯基础练习 01字串
  2. 简述JavaME,JavaSE,JavaEE
  3. Additive属性动画
  4. matlab用辛普森公式求积分_如何用Excel公式求最大值对应的行列序号
  5. Delphi下载指定网址(URL)的文件,带进度条显示
  6. BugKuCTF WEB 矛盾
  7. SVN merge(合并) 的三种方式
  8. java tcp ack_TCP三次握手和四次挥手以及11种状态
  9. SAS之COMPBL、DEQUOTE函数
  10. MS SQL 日常维护管理常用脚本(二)
  11. 让我小猪佩奇教你如何进行潇洒装逼
  12. Endnote X8激活注册信息
  13. windows server 2008 R2开启ftp服务
  14. 一级倒立摆matlab仿真,一级倒立摆的Simulink仿真
  15. 关于NuDaqPci 数据采集
  16. (一)WLAN定义和基本架构
  17. 新车磨合应该从正确启动发动机开始
  18. 大数据在生活中有哪些应用举例?大数据好找工作吗?
  19. HTPPS加密对网站有什么好处
  20. 马云的创业故事及他人生中的摆渡人-微信的兴起和支付宝的至暗时刻(十)

热门文章

  1. 大航海日志--do rome as romans do
  2. Latex 的中文操作
  3. (64)-- 爬取58同城网页信息
  4. Android中3D gallary的实现
  5. xpanx原理解析 | 只要 3 秒!抖音视频无水印下载
  6. pdf工具类之添加页码
  7. 【离散数学】数理逻辑 第一章 命题逻辑(7) 命题逻辑的推理理论
  8. 从细胞发现到DNA分子结构的发现,人类经历了三百年
  9. 蘑菇街按关键字搜索mogujie商品 API 返回值说明
  10. pysptk, 语音信号处理工具包( SPTK )的python 封装器