2014-11-03 65 views
1

我遇到問題。這與boost :: filesystem有關。我得到這個錯誤: error: ‘class boost::filesystem::directory_entry’ has no member named ‘filename’。他們是否棄用它或什麼? 代碼是:string FileName = i->filename();使用Boost編譯問題1.56.0

+0

不,它[有](http://www.boost.org/doc/libs/1_56_0/libs/filesystem/doc/ #的reference.html路徑文件名)。 – m0nhawk 2014-11-03 17:37:23

回答

1

filename()path的成員,而不是directory_entry的成員。

只是做

std::string FileName = i->path().filename(); 

看到它Live On Coliru

+0

自從哪個boost版本移到path()? :) – Duosora 2014-11-04 11:59:58

+0

@Duosora ** [圖書館主頁](http://www.boost.org/doc/libs/release/libs/filesystem)**有一個大橫幅說:_「這是Filesystem庫的第3版。版本2不再被支持。1.49.0是Boost提供版本2的最後一個版本「_」。我認爲它的答案是 – sehe 2014-11-04 12:07:48

+0

是的,它的確如此。我做了一些大規模的替代品注射,它編譯得很好。非常感謝解釋。請原諒我不注意它。 – Duosora 2014-11-04 12:14:57