记录下,依照官方指导书搭建小觅双目SDK2时的遇到错误

如今小觅双目SDK已经出到了2.0。

笔者在小型工控机上搭建了Ubuntu 16.04(64bit) + ROS kinetic。(Ubuntu是U盘安装的,ROS Kinetic参考http://wiki.ros.org/kinetic/Installation/Ubuntu

随后自行安装了Opencv3.4.2。简要过程是1、下载OpenCV3.4.2源码:https://github.com/opencv/opencv/releases  2、下载OpenCV_contrib 3.4.2源码:https://github.com/opencv/opencv_contrib/releases/。3、使用Cmake-gui生成工程 再make + make install。

安装SDK的方法请看https://github.com/slightech/MYNT-EYE-SDK内的《MYNT EYE 2.x Guide》。一步步操作。

由于本机是自行安装的OpenCV3.4.2,和ROS本身的默认版本不相同。故出现了几个错误。

第一个错误是在make install时,出现了glog安装错误。

/usr/bin/ld: /usr/local/lib/libglog.a(libglog_la-logging.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libglog.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status

根据https://github.com/google/glog的指引,安装过程只需要执行:

 ./autogen.sh && ./configure && make && make install

实际在64位的机子中,需要用以下命令去替代./configure,此处参考了网址

./configure CPPFLAGS="-I/usr/local/include -fPIC" LDFLAGS="-L/usr/local/lib"

 

 

第二个错误是执行make samples和make tools。

都出现了和 OpenCV相关的错误。
根据售后的提示,查找了下编译信息中有关OpenCV的版本号。发现了OpenCV的版本号是ROS附带的3.3.1,这不是自己安装的3.4.2。于是重新make install了OpenCV3.4.2。使得pkg-config --modversion opencv 指令输出结果也是3.4.2。
但是make samples时候,仍然只找到opencv 3.3.1。
于是,到CMakeLists.txt,加上那句set(OpenCV_DIR /usr/local/ share/OpenCV)
再加另一句find_package(OpenCV 3.4 REQUIRED),就可以了。

售后另外指导了“在sdk/cmake/DetectOpencv.cmake 加上那一句就可以了”。即是将

find_package(OpenCV REQUIRED)

修改为

find_package(OpenCV 3.4 REQUIRED)

 

没学cmake语法真的不好……

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值