Skip to content

windows: clang: file_sys.h does not work #985

@jcelerier

Description

@jcelerier

With libc++ on windows the code in file_sys.h is wrong, as std::ifstream works with char and not whcar_t:

D:/a/score-addon-onnx/score-addon-onnx/addon/3rdparty/onnxruntime-extensions/base/file_sys.h:54:12: error: no matching constructor for initialization of 'std::ifstream' (aka 'basic_ifstream<char>')
   54 |     return std::ifstream(w_path_, mode);
      |            ^             ~~~~~~~~~~~~~
C:/ossia-sdk-x86_64/llvm/include/c++/v1/fstream:1111:34: note: candidate constructor not viable: no known conversion from 'const std::wstring' (aka 'const basic_string<wchar_t>') to 'const char *' for 1st argument
 1111 |   _LIBCPP_HIDE_FROM_ABI explicit basic_ifstream(const char* __s, ios_base::openmode __mode = ios_base::in);
      |                                  ^              ~~~~~~~~~~~~~~~
C:/ossia-sdk-x86_64/llvm/include/c++/v1/fstream:1113:34: note: candidate constructor not viable: no known conversion from 'const std::wstring' (aka 'const basic_string<wchar_t>') to 'const wchar_t *' for 1st argument
 1113 |   _LIBCPP_HIDE_FROM_ABI explicit basic_ifstream(const wchar_t* __s, ios_base::openmode __mode = ios_base::in);
      |                                  ^              ~~~~~~~~~~~~~~~~~~
C:/ossia-sdk-x86_64/llvm/include/c++/v1/fstream:1115:34: note: candidate constructor not viable: no known conversion from 'const basic_string<wchar_t>' to 'const basic_string<char>' for 1st argument
 1115 |   _LIBCPP_HIDE_FROM_ABI explicit basic_ifstream(const string& __s, ios_base::openmode __mode = ios_base::in);
      |                                  ^              ~~~~~~~~~~~~~~~~~
C:/ossia-sdk-x86_64/llvm/include/c++/v1/fstream:1119:38: note: candidate template ignored: requirement 'is_same_v<std::wstring, std::filesystem::path>' was not satisfied [with _Tp = std::wstring]
 1119 |       _LIBCPP_HIDE_FROM_ABI explicit basic_ifstream(const _Tp& __p, ios_base::openmode __mode = ios_base::in)
      |                                      ^
C:/ossia-sdk-x86_64/llvm/include/c++/v1/fstream:1122:25: note: candidate constructor not viable: requires single argument '__rhs', but 2 arguments were provided
 1122 |   _LIBCPP_HIDE_FROM_ABI basic_ifstream(basic_ifstream&& __rhs);
      |                         ^              ~~~~~~~~~~~~~~~~~~~~~~
C:/ossia-sdk-x86_64/llvm/include/c++/v1/__fwd/fstream.h:24:28: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 2 were provided
   24 | class _LIBCPP_TEMPLATE_VIS basic_ifstream;
      |                            ^~~~~~~~~~~~~~
C:/ossia-sdk-x86_64/llvm/include/c++/v1/fstream:1110:25: note: candidate constructor not viable: requires 0 arguments, but 2 were provided
 1110 |   _LIBCPP_HIDE_FROM_ABI basic_ifstream();
      |                         ^

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions