Cygwin + MinGW + GCC 相談室 Part 8 (987レス)
前次1-
抽出解除 レス栞

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
36
(1): デフォルトの名無しさん [] 2015/01/04(日) 16:57:48.42 ID:Qu74iV3W(1) AAS
>>35
35(2): デフォルトの名無しさん [sage] 2015/01/04(日) 16:52:23.98 ID:BvegMGE7(1/5) AAS
cygwin64上で作業をやっとります。

故あって32bitコードを書かねばならないのですが、
i686-w64-mingw32-gcc, i686-pc-cygwin-gcc共にfopenでPOSIXパスを渡すと、
errno=2, No such file or directory
ということで開けません。
windowsパスにすると開けます

ダメ fopen("/home/foo/bar.txt", "r");
OK fopen("c:/cygwin64/home/foo/bar.txt", "r");

mingwでは仕方ないかとは思いますが、cygwin32までPOSIXパスを否定されると辛い。
objdumpで見ても、fopenはcygwin1.dllのものを使用している模様。
PATHは/usr/i686-pc-cygwin/sys-root/usr/binを通してあります。

POSIXパスを認識させる良い方法がありましたら御指南願います。
これはコンパイラでなく、OSの仕様。
windows OSの仕様を変更させるか、コンパイラ改造するしかないんでは?
認識できるわけではないが、簡単なのは自作ラッパーを挟む。
39: デフォルトの名無しさん [sage] 2015/01/04(日) 18:44:55.84 ID:BvegMGE7(3/5) AAS
>>36
いやいや、cygwin64環境、cygwin32環境でネイティブのgccを使うとPOSIXパス使えるんだわ。
ところが、cygwin64環境でcygwin32(i686-pc-cygwin)だと使えないわけで。
32bit版cygwin1.dllがルートパスをどこと認識してるか、ってところなのかな。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.045s