doppia编译之四:安装其他库、编译和运行doppia

(与本节内容无关///保存图片参数为----gui.save_all_screenshots true)
在我们安装好CUDA、boost、opencv之后,接下来的一些库(libSDL、protobuf等)的安装,我们都可以用系统内部的程序进行安装。比如

安装libSDL,我们终端输入

apt-cache search libsdl

系统会给出一系列程序,我们选择其中的libsdl1.2-dev进行安装。

sudo apt-get install libsdl1.2-dev

(这里注意不要安装libsdl2-dev,因为安装之后生成的文件夹是SDL2,之后doppia调用时会出现找不到“SDL files”的错误)

安装protobuf库,则是我经过多番测试,得到的能够通过v1,v2测试的安装方法。(之前尝试安装protobuf2.5.0和protobuf2.4.1,doppia都找不到路径,而想把它们删除又删除不了,很麻烦),之后我测试了几个自带的protobuf库,发现安装以下四个库能够通过v1,v2的测试,安装命令为:

sudo apt-get install libprotobuf-dev libprotoc-dev python-protobuf protobuf-compiler

切换到doppia目录下,运行

sudo sh ./generate_protocol_buffer_files.sh

protobuf通过doppia-v1检测的返回信息为

Generating objects detection files...
(Ground plane and video input files not yet handled by this script)
End of game. Have a nice day!

protobuf通过doppia-v2检测的返回信息为

+ cd src/objects_detection/
+ protoc --cpp_out=./ detector_model.proto detections.proto
+ protoc --python_out=../../tools/objects_detection/ detector_model.proto detections.proto
+ cd ../..
+ cd src/stereo_matching/ground_plane/
+ protoc --cpp_out=./ plane3d.proto
+ protoc --python_out=../../../tools/stixels_evaluation plane3d.proto
+ cd ../../..
+ cd src/stereo_matching/stixels/
+ protoc --cpp_out=./ -I. -I../ground_plane --include_imports stixels.proto ground_top_and_bottom.proto
--include_imports only makes sense when combined with --descriptor_set_out.
+ protoc --python_out=../../../tools/stixels_evaluation -I. -I../ground_plane --include_imports stixels.proto ground_top_and_bottom.proto
--include_imports only makes sense when combined with --descriptor_set_out.
+ cd ../../..
+ cd src/video_input/calibration
+ protoc --cpp_out=./ calibration.proto
+ cd ../../..
+ cd src/helpers/data
+ protoc --cpp_out=./ DataSequenceHeader.proto
+ protoc --python_out=../../../tools/data_sequence DataSequenceHeader.proto
+ cd ../../..
+ cd src/helpers
+ cd ../..
+ cd src/tests/data_sequence/
+ protoc --cpp_out=./ TestData.proto
+ cd ../../..
+ echo End of game. Have a nice day!
End of game. Have a nice day!

到这里,我们该安装的库大部分已经安装成功,接下来就可以开始编译doppia啦!(至于可能还缺少的库,可以根据doppia的错误提示进行安装)

编译运行doppia/src/applications/objects_detection
由于我只需要用到doppia的objects_detection的功能,而之前我在编译doppia-v2时,ground_estimation和stixel_world都能编译运行。所以这次在编译doppia-v1时,我就直接切入“主题”,编译运行objects_detection。下面也主要是列出我在编译objects_detection是遇到的问题以及相应的解决方案。

错误一,创建(build)错误
error:

/home/mx/doppia/src/applications/objects_detection/../../../src/helpers/data/DataSequence.hpp:293:56: error: invalid use of incomplete type ‘class google::protobuf::io::CodedInputStream’
     const bool read_size_success = input_coded_stream_p->ReadLittleEndian64(&size);

solution:

doppia/src/helpers/data/DataSequence.hpp

头文件中,在

#include "DataSequenceHeader.pb.h"
#include <google/proto
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 19
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值