Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/158.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 递归扫描目录中的文件_C++_Boost_Boost Filesystem - Fatal编程技术网

C++ 递归扫描目录中的文件

C++ 递归扫描目录中的文件,c++,boost,boost-filesystem,C++,Boost,Boost Filesystem,我正在尝试遍历目录,并从根开始打印所有文件的名称 下面是我在程序中使用Boost::Filesystem(1.52.0)编写的简短代码片段 void testApp::getNames(const string& dirPath, string& fileExtension) { namespace fs = boost::filesystem; namespace sys = boost::system; fs::path filePath(dirPat

我正在尝试遍历目录,并从根开始打印所有文件的名称

下面是我在程序中使用
Boost::Filesystem
(1.52.0)编写的简短代码片段

void testApp::getNames(const string& dirPath, string& fileExtension)
{
    namespace fs = boost::filesystem;
    namespace sys = boost::system;
    fs::path filePath(dirPath);
    for(fs::recursive_directory_iterator dir(filePath), dir_end; dir!=dir_end ;++dir)
    {
        cout<<*dir;
    }
}
我得到的错误是对boost::filesystem3::path::wchar\u t\u codecvt\u facet()的
未定义引用。


我在Ubuntu 12.10上为我的项目使用代码块IDE。

这是一个链接器错误。您需要链接到Boost文件系统库


在IDE中,应该有一个在项目设置中添加库的设置。(我不知道确切的位置,因为我从未使用过代码块。)

这是一个链接器错误-文件系统库包含必须编译和链接的组件-它不是一个只包含头的库。你能指出必须使用的链接器标志吗?不仅仅是为了添加-lboost\u文件系统?我已经在makefile
USER\LDFLAGS=-lboost\u system
中使用了以下链接器标志。Boost::filesystemm链接器不同吗?@user1240679是的,您需要
Boost\u filesystem
库,因此将
-lboost\u filesystem
添加到
USER\u LDFLAGS
变量中。呸!我的头撞到了这东西上,结果只剩下链接器标志了。谢谢
    static const codecvt_type& codecvt()
    {
      return *wchar_t_codecvt_facet();
    }