Pangolin安装报错解决-创新互联
Pangolin安装报错解决
网站建设哪家好,找创新互联公司!专注于网页设计、网站建设、微信开发、微信小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了扬中免费建站欢迎大家使用!视觉SLAM十四讲$3.7节需要。
在本地slambook2/3rdparty文件夹git submodule update,这个版本是和书中的版本一致的。
首先需要安装OpenGL
以及Cmake、C++11等,
然后建立build文件夹,在内部编译:
mkdir build
cd build
cmake ..
make
不出意外的话,会报错:
- include/pangolin/gl/colour.h:57:18:error: ‘numeric_limits’ is not a member of ‘std’
57 | std::numeric_limits::quiet_NaN(), std::numeric_limits::quiet_NaN(), include/pangolin/utils/picojson.h:383:12:note:in definition of macro ‘GET’ 383 | returnvar;
include/pangolin/utils/picojson.h:390:124:warning:suggest parentheses around assignment used as truth value [-Wparentheses] 390 | ->type_ = number_type,const_cast
(this)->u_.number_ = u_.int64_ ), u_.number_))
我改动了几个文件,然后通过编译了。具体改动是:
- include/pangolin/gl/gl.h, include/pangolin/gl/colour.h 这两个文件,加入
#include#include
- 在对应的CMakeLists.txt中加入C++11
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 ")
- include/pangolin/utils/picojson.h 文件390行加2个括号
#ifdef PICOJSON_USE_INT64
GET(double,
(type_ == int64_type && ((const_cast(this)->type_ = number_type), (const_cast(this)->u_.number_ = u_.int64_)),
u_.number_))
GET(int64_t, u_.int64_)
如果实在不行,总是报错,比如你已经重新安装了Eigen库,这时有可能因为版本不一致而无法安装书中指定的这个版本的Pangolin。那么只需要在别的文件夹获取一个pangolin并编译就行了,可参考readme进行安装。
git clone https://github.com/stevenlovegrove/Pangolin.git
有博客指出直接git clone这个有各种问题导致编译不过,应该用GitHub上的release版压缩包,别git clone。
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
新闻名称:Pangolin安装报错解决-创新互联
当前URL:http://scyanting.com/article/dehppp.html