无法使用C++`std::filesystem`library与介子构建 我试图构建一个C++代码,使用新的C++ 17文件系统库,使用介子构建系统。

无法使用C++`std::filesystem`library与介子构建 我试图构建一个C++代码,使用新的C++ 17文件系统库,使用介子构建系统。,c++,clang,boost-filesystem,meson-build,C++,Clang,Boost Filesystem,Meson Build,这是所涉及的meson.build文件的一部分: if not compiler.has_header('filesystem') # This is OK warning('The compiler has no <filesystem> header file') endif filesystem_dep = dependency('libc++fs', modules : ['filesystem']) test_exe = executable('test',

这是所涉及的
meson.build
文件的一部分:

if not compiler.has_header('filesystem')   # This is OK
    warning('The compiler has no <filesystem> header file')
endif

filesystem_dep = dependency('libc++fs', modules : ['filesystem'])

test_exe = executable('test', test_src,
                      include_directories : include_dirs,
                      dependencies : filesystem_dep
                     )
<>我如何指定我想要标准C++库中包含的版本?这就是我尝试过但没有成功的方法:“libc++fs”、“stdlib”、“stdc++”、“libc++”、“c++”、“c++17”

这是我从介子那里得到的错误信息:

src/meson.build:33:0:错误:未找到本机依赖项“libc++fs”

我当前使用的编译器是LLVM/clang。

dependency()用于外部库。标准库应使用编译器命令行和特殊函数(如)进行配置。所以,试试看


但是,“-lstdc++fs”在您的中可能不需要。

(不使用clang或介子,所以我可能是错的,但是)您是否检查过如果使用std::filesystem,是否需要将libc++fs与clang链接?@roalz-我认为介子应该处理它,并根据编译器(clang或gcc)选择
libc++fs
libstdc++fs
filesystem_dep = dependency('boost', modules : ['filesystem'])
add_project_arguments(['-stdlib=libc++'], language : 'cpp')
add_project_link_arguments(['-stdlib=libc++','-lstdc++fs'], language : 'cpp')