花了50大洋买回来的教训

首先这是在用pangolin时碰到的错误,大概就是这样色的:

In file included from /usr/local/include/pangolin/utils/signal_slot.h:3,
                 from /usr/local/include/pangolin/windowing/window.h:35,
                 from /usr/local/include/pangolin/display/display.h:34,
                 from /usr/local/include/pangolin/pangolin.h:38,
                 from /home/a616708946/slambook/ch5/code/disparity.cpp:8:
/usr/local/include/sigslot/signal.hpp:109:79: error: ‘decay_t’ is not a member of ‘std’; did you mean ‘decay’?
  109 | constexpr bool is_weak_ptr_compatible_v = detail::is_weak_ptr_compatible<std::decay_t<P>>::value;
      |                                                                               ^~~~~~~
      |                                                                               decay
/usr/local/include/sigslot/signal.hpp:109:79: error: ‘decay_t’ is not a member of ‘std’; did you mean ‘decay’?
  109 | constexpr bool is_weak_ptr_compatible_v = detail::is_weak_ptr_compatible<std::decay_t<P>>::value;
      |                                                                               ^~~~~~~
      |                                                                               decay
/usr/local/include/sigslot/signal.hpp:109:87: error: template argument 1 is invalid
  109 | constexpr bool is_weak_ptr_compatible_v = detail::is_weak_ptr_compatible<std::decay_t<P>>::value;

直接看得我懵逼了。

然后淘宝花钱找人来调试,人家一看就改了cmakelist里的一样代码:

# 添加c++ 11标准支持
set( CMAKE_CXX_FLAGS "-std=c++14" )

把之前之前的-std=c++11改成了14就完成编译了。

但是运行./test文件的时候又碰到了第二个问题:

 然后他做了如下的操作:

1.首先是:

sudo find / -name libpango-windowing.so

这句话用来找到那个库的位置

是在:

/usr/local/lib/libpango_windowing.so

这个位置。

接下来他把cmakelist文件添加了两行:

cmake_minimum_required( VERSION 2.8 )
project( imageBasics )

# 添加c++ 11标准支持
set( CMAKE_CXX_FLAGS "-std=c++14" )
set(OpenCV_DIR "usr/local/opencv3/share/OpenCV")

# 寻找OpenCV库
find_package( OpenCV 3 REQUIRED )
find_package(Pangolin REQUIRED)
# 添加头文件
include_directories( ${OpenCV_INCLUDE_DIRS} )
include_directories(${Pangolin_INCLUDE_DIRS})


LINK_directories("/usr/local/lib")

add_executable( test disparity.cpp )
# 链接OpenCV库
target_link_libraries( test ${OpenCV_LIBS} )
target_link_libraries(test ${Pangolin_LIBRARIES})
target_link_libraries(test libpango_windowing.so)

其一是添加了

LINK_directories("/usr/local/lib")

这一行,其二是添加了:

target_link_libraries(test libpango_windowing.so)

这一行,即把libpango_windowing.so这个库连接到test,

最后他还

sudo vim /etc/ld.so.conf

然后在里面加上了:

 这句话。

就通过编译了。

  • 8
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值