Open rokid-chrislyu opened 5 years ago
以下对于有同样问题的人可能有用:
g2o repo的这个issue以及g2o官方示例源码有关于新的智能指针写法的实例,需要注意的是g2o有自己的make_unique
实现g2o::make_unique
,实际上没必要用std::make_unique
(否则还需要修改CMakeLists.txt
支持到c++14
标准,并同时包含<memory>
头文件),不管用哪个结果是一样的
~另外 @gaoxiang12 因为g2o应该会保持使用智能指针的实现方式了,选择从GitHub直接clone最新版本库的人应该都会遇见同样问题,有没有计划更新现有代码来适应g2o?~ 抱歉,看到已经有pull request了, #110
第二版会统一用智能指针的版本。
以下对于有同样问题的人可能有用:
g2o repo的这个issue以及g2o官方示例源码有关于新的智能指针写法的实例,需要注意的是g2o有自己的
make_unique
实现g2o::make_unique
,实际上没必要用std::make_unique
(否则还需要修改CMakeLists.txt
支持到c++14
标准,并同时包含<memory>
头文件),不管用哪个结果是一样的另外 @gaoxiang12 因为g2o应该会保持使用智能指针的实现方式了,选择从GitHub直接clone最新版本库的人应该都会遇见同样问题,有没有计划更新现有代码来适应g2o? 抱歉,看到已经有pull request了, #110
我在跑ch6中的g2o_curve_fitting的代码的时候:
如果从github上clone最新的g2o, 那么书中的样例代码中第76行和77行中的指针要改成unique_ptr, 并且79行改成接受unique_ptr的参数后才能编译通过,g2o做了比较大的重构?
该代码中,我如果跑L-M method或者dogleg method, 结果相符,但是如果跑G-N method,结果差得很大,不知道是什么原因?