问题描述
我只想通过std::filesystem::path::current_path
(编译器为emcc
this one)打印当前路径及其内容。下面的一些代码:
//... some stuff ...
namespace fs =
#if defined(_MSC_VER) || defined(_WIN32)
std::filesystem;
#else
std::__fs::filesystem;
#endif
//... some stuff ...
cfg::Config::Config() { this->Path = fs::current_path(); }
void cfg::Config::getPath()
{
for (auto &p : fs::directory_iterator(this->Path)) std::cout << p.path() << '\n';
}
对于Windows来说,它工作正常,输出如下:
...
"D:\\GitHub\\Emscripten_OpenGL\\build\\cmake_install.cmake"
"D:\\GitHub\\Emscripten_OpenGL\\build\\Debug"
"D:\\GitHub\\Emscripten_OpenGL\\build\\Emscripten_Graphics.dir"
"D:\\GitHub\\Emscripten_OpenGL\\build\\Emscripten_Graphics.sln"
"D:\\GitHub\\Emscripten_OpenGL\\build\\Emscripten_Graphics.vcxproj"
"D:\\GitHub\\Emscripten_OpenGL\\build\\Emscripten_Graphics.vcxproj.filters"
"D:\\GitHub\\Emscripten_OpenGL\\build\\Emscripten_Graphics.vcxproj.user"
...
但是,无论是对于Linux子系统还是带有Ubuntu映像的docker容器,它仅会打印根目录:
application_1 | [100%] Built target Emscripten_Graphics
application_1 | make: make
application_1 | "/tmp"
application_1 | "/home"
application_1 | "/dev"
application_1 | "/proc"
我是否可能因为Linux的std::filesystem
而错过了某些东西?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)