fafnir icon indicating copy to clipboard operation
fafnir copied to clipboard

Feat: support msys2

Open yumetodo opened this issue 6 years ago • 4 comments

msys2のgcc(clangはだめ)でもビルドできたらいいなと思い対応してみた。

yumetodo avatar Mar 04 '18 11:03 yumetodo

現在msys2のpacmanで拾えるgccは7.3.0だけれども、たしかgcc8.0.0からfilesystemがexperimentalではなくなるので、そのときは 78af762d5e6fbed6c0652c24eded8bcf3c055499, 77e6c8a0552a33106662879170065971bff71776 に改修が必要。

yumetodo avatar Mar 04 '18 11:03 yumetodo

http://en.cppreference.com/w/cpp/io/basic_fstream/basic_fstream std::experimentall::filesystemを使っている時点でどうなのという話ではあるが、このプロジェクトはC++17以前の環境をターゲットにしておらず、C++17ならstd::filesystem::pathconst std::filesystem::path::value_type*を受け取れるので、日本語パスの扱いが不安なコードはあまり入れたくない。 少なくともこのコードは、MSVCの環境ならCP932になってしまうので、入れるなら日本語パスに関するテストを追加した上で対象の環境を切り分けて欲しい。

kazatsuyu avatar Mar 05 '18 13:03 kazatsuyu

正直な話Win32APIないしboostで書き換えたい。filesystem使うには時期尚早。そもそもmingwのwchar_t周りは大体壊れていて地雷原を進むようなものなのでgcc8.0.0が来てもまともに実装されていると思えず、Win32API以外で使いたくない。

yumetodo avatar Mar 05 '18 13:03 yumetodo

規模これ以上は大きくならないだろうと思われるためboostには依存したくない。 ターゲットがWindows以外になり得ないためWin32 APIに依存するのは構わない。

kazatsuyu avatar Mar 05 '18 14:03 kazatsuyu