d在视觉SLAM十四讲第九章0.2中,执行run_vo时出现了Segmentation fault (core dumped)错误,通过gdb调试发现和cv::FileStorage有关(可能您的错误源和我的不同,在网上发现有不一样的地方)。通过对run_vo中的语句定位(屏蔽掉所有的语句,再逐句试试)发现是和config.h文件中的config类定义有关。在Config类定义如下:
class Config
{
private:
static std::shared_ptr<Config> config_;
cv::FileStorage file_;
Config () {} // private constructor makes a singleton
public:
~Config(); // close the file when deconstructing
// set a new config file
static void setParameterFile( const std::string& filename );
// access the parameter values
template< typename T >
static T get( const std::string& key )
{
return T( Config::config_->file_[key] );
}
};
此类中的config_是静态指针,所以所有的Config类的对象都可以共享此指针。但通过使用此类中的setParameterFile函