Skip to content

std::filesystem support #609

@chenxiaolong

Description

@chenxiaolong

Description

The libc++ libraries (both shared and static) seem to be missing symbols needed to use <experimental/filesystem>. For example, trying to compile a simple program that calls std::experimental::filesystem::remove_all(path) will fail at link time with:

/stuff/Applications/Linux/android-ndk/sources/cxx-stl/llvm-libc++/include/experimental/filesystem:1695: error: undefined reference to 'std::experimental::filesystem::v1::__remove_all(std::experimental::filesystem::v1::path const&, std::__ndk1::error_code*)'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)

Sample project: https://github.com/chenxiaolong/ndk_filesystem_test (run ./test.sh to reproduce issue)

Is this expected to happen? I couldn't find any details as to whether the filesystem library should work with the NDK.

Environment Details

  • NDK Version: r16b (16.1.4479499)
  • Build sytem: any
  • Host OS: Fedora 27 x86_64
  • Compiler: clang
  • ABI: any
  • STL: libc++
  • NDK API level: 21
  • Device API level: n/a

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions