Cygwin + MinGW + GCC 相談室 Part 8 (987レス)
1-

19: デフォルトの名無しさん [sage] 2014/10/26(日) 08:34:29.06 ID:axjCVmEg(1) AAS
ディレクトリを選択して右クリックの 送る から cygterm+putty を開くにはどうすればいいのでしょうか?
20: デフォルトの名無しさん [sage] 2014/10/30(木) 11:08:43.38 ID:dIih4uCY(1) AAS
cygwinでは npm init がエラーになるんだな
ちょくちょく独特なトラブルが起こるからいまいち使いにくい
21: 名無しさん@そうだ選挙に行こう [sage] 2014/12/13(土) 19:05:16.23 ID:yqGWGgnp(1) AAS
久々にTDMの更新来てるねー
22: デフォルトの名無しさん [sage] 2014/12/19(金) 20:07:46.12 ID:TVDdwTgk(1) AAS
msysはなんか一時期まともにインスコできない時期があったので、
cygwin64にcygwin, cygwin32, mingw32, mingw64のコンパイラ入れまくりに落ち着きつつある。
結局windwosネイティブのdll使うにはmingwじゃないとダメだしクロスコンパイルしまくりでやはり面倒ではある。
23
(5): デフォルトの名無しさん [] 2014/12/23(火) 12:58:12.55 ID:wtjAlw23(1) AAS
x265をコンパイルできるFFmpegをビルドするためにMinGW + MSYSを以下のサイトからダウンロードして
Windows7に入れました。

外部リンク:xhmikosr.1f0.de
MSYS_MinGW-w64_GCC_492_x86-x64_Full.7z

早速x265のコンパイルをしようと以下のサイトを参考にしたのですが、
外部リンク:qiita.com
hg, cmakeが必要とのことです。(Linuxには疎いのでhgやcmakeがどういうプログラムなのかいまいち分かりませんが)
デフォルトのMinGW + MSYSにはhgやcmakeは含まれていないようです。
hgやcmakeを使えるようにするにはどうしたらいいでしょうか?
24: デフォルトの名無しさん [sage] 2014/12/23(火) 23:02:19.16 ID:40EW/Y2H(1) AAS
MinGWはこっちの方がよくね?
外部リンク:sourceforge.net

hgは
外部リンク:takuya-1st.hatenablog.jp

ここが参考になるかな
25: 23 [sage] 2014/12/24(水) 21:54:49.37 ID:8/ZOVusd(1/2) AAS
ありがとうございました。おかげさまでhg, cmake, ついでにgitまで使えるようになりました。
> MinGWはこっちの方がよくね?
MSYSを別途導入する必要があるようだったので>>23のMSYS_MinGW-w64_GCC_492_x86-x64_Full.7zを使うことにしました。

ところでffmepgのコンパイルをしていて些細な疑問を持ったのですが、
外部リンク:d.hatena.ne.jp
のサイトを参考に音声コーデックのfdk-aacをffmpegにマージしてみました。
サイトに書かれていたとおり、
/FFmpeg/fdk-aac-0.1.1/
に移動して
 ./configure --prefix=/mingw/i686-w64-mingw32
 make && make insutall
を実行し、そのあとffmpegのコンパイルをするべく
 cd ../ffmpeg-HEAD-4110828
でffmpegフォルダに移動し
 ./configure --enable-gpl --enable-version3 --enable-nonfree --enable-libfdk-aac
  --extra-ldflags=-static --extra-cflags='-march=native -mfpmath=sse' --optflags=-O2
を実行したところ問題無くconfigureは通りました。
26
(1): 23 [sage] 2014/12/24(水) 21:55:31.04 ID:8/ZOVusd(2/2) AAS
調子に乗って「fdk-aacだけでなく最近はやりのOpusという音声コーデックもマージしよう」と
外部リンク[gz]:downloads.xiph.org
をダウンロード&展開し、
 ./configure --prefix=/mingw/i686-w64-mingw32
 make && make insutall
を実行。その後ffmpegフォルダに移動して、
 ./configure --enable-gpl --enable-version3 --enable-nonfree --enable-libfdk-aac --enable-libopus
  --extra-ldflags=-static --extra-cflags='-march=native -mfpmath=sse' --optflags=-O2
を実行してみたところ

ERROR: opus not found using pkg-config
Note: When building a static binary, add --pkg-config-flags="--static".

とエラーが返されました。fdk-aacはよくてopusは何でダメなの?訳が分からずググッてみると
ffmpegのconfigureを実行する前に

 export PKG_CONFIG_PATH="/mingw/i686-w64-mingw32/lib/pkgconfig"

のおまじないを唱えると問題無くconfigureが通ることが分かりました。
外部リンク:qiita.com

fdk-aacはPKG_CONFIG_PATHをエクスポートせずとも良くて
OpusはPKG_CONFIG_PATHをエクスポートしないとconfigureが通らないのはなぜでしょうか?
27
(1): デフォルトの名無しさん [sage] 2014/12/26(金) 21:04:32.27 ID:OP/Bn95j(1) AAS
Wikipediaに書いてあるじゃん

外部リンク:ja.wikipedia.org

まあ要するにコンパイルフラグをいじらなくて済むという話では
28: デフォルトの名無しさん [sage] 2014/12/27(土) 13:54:55.65 ID:BCIPL5E0(1) AAS
MSYS2 Avira で TR/Crypt.XPACK.Gen2 連発するから困る
29
(1): デフォルトの名無しさん [sage] 2014/12/29(月) 09:28:57.28 ID:mY3AFavo(1) AAS
>>26
pkg-configにコンパイル時のフラグを調べるためのデータを置く場所を教えるため。
てか、そこまで出来てるくせに勘が悪いな
30
(2): 23 [sage] 2014/12/29(月) 11:52:31.05 ID:m849QDq1(1) AAS
>>27
>>29
コンパイル時のフラグの格納場所でしたか。
不思議なのはfdk-aacはPKG_CONFIG_PATHの場所を教えなくても問題無く進み、
Opusのときはきちんと提示してやらないと進まなかった点です。
二つは仕組みが違うんでしょうか?
31
(1): デフォルトの名無しさん [sage] 2014/12/30(火) 12:28:25.80 ID:NSL+ZZg4(1) AAS
>>30
デフオルトの場所にあれば教えんでも工工わな
32
(1): 23 [sage] 2014/12/30(火) 16:47:35.91 ID:tC9GpZ1z(1/2) AAS
>>31
fdk-aacもOpusも共に
 ./configure --prefix=/mingw/i686-w64-mingw32
とconfiguraしています。だから同じ /mingw/i686-w64-mingw32 にライブラリは格納されてるはずなんです・・・
Opusだけどっかイレギュラーな場所にライブラリをコピーしちゃってるんでしょうかね?
33
(1): デフォルトの名無しさん [sage] 2014/12/30(火) 21:17:40.84 ID:NhJ3bWE9(1) AAS
>>30 >>32
疑問を持った時点でffmpegのconfigureの中身を見なさいな。(以下抜粋
> enabled libfdk_aac && require libfdk_aac fdk-aac/aacenc_lib.h aacEncOpen -lfdk-aac
> enabled libopus && require_pkg_config opus opus_multistream.h opus_multistream_decoder_create

ライブラリ有無のチェックに、libopusはpkg-configを用いて判定してるってだけ。
なので PKG_CONFIG_PATH を設定する必要がある。
34: 23 [sage] 2014/12/30(火) 22:10:28.69 ID:tC9GpZ1z(2/2) AAS
>>33
そういうことでしたか・・・
そういうの詳しい人が身近にいてくれると助かるんですが・・・
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パスを認識させる良い方法がありましたら御指南願います。
36
(1): デフォルトの名無しさん [] 2015/01/04(日) 16:57:48.42 ID:Qu74iV3W(1) AAS
>>35
これはコンパイラでなく、OSの仕様。
windows OSの仕様を変更させるか、コンパイラ改造するしかないんでは?
認識できるわけではないが、簡単なのは自作ラッパーを挟む。
37
(1): デフォルトの名無しさん [sage] 2015/01/04(日) 17:25:27.63 ID:tnXQTL6U(1/2) AAS
>>35
Cygwinの32bitと64bitだとルートディレクトリが違うからじゃね?
32bitコード書くならCygwin32上で作業した方がいいのでは。
38
(1): デフォルトの名無しさん [sage] 2015/01/04(日) 18:42:58.13 ID:BvegMGE7(2/5) AAS
>>37
windows8でcygwin32使うとfork errorでまくりでコンパイルが進まないorz
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がルートパスをどこと認識してるか、ってところなのかな。
40
(3): デフォルトの名無しさん [sage] 2015/01/04(日) 20:35:46.69 ID:tnXQTL6U(2/2) AAS
>>38
rebaseallやってもforkエラー出まくりなんだとしたらしゃーないな。

cygwin1.dllがあるディレクトリの1つ上がルートディレクトリになってるはず。
単にUnix形式になってさえいればいいのなら /cygdrive/c/cygwin64/home/foo/bar.txt で
開けばいいし、それだとダメならfstabをいじるか
41: デフォルトの名無しさん [sage] 2015/01/04(日) 23:12:59.46 ID:BvegMGE7(4/5) AAS
>>40
windows7ではrebaseで治るんだけどなぁ。8.1はどうやっても連発で。
cygwin1.dllの一つ上がルートディレクトリはいい話を聞きましたわ。
マウントかリンクでなか胡麻化せるかも
42: デフォルトの名無しさん [sage] 2015/01/04(日) 23:41:05.65 ID:BvegMGE7(5/5) AAS
>>40
ファイル回りを/cygdrive形式で徹底することでなんとか胡麻化しできました
有難うございました。
43: デフォルトの名無しさん [sage] 2015/01/06(火) 23:06:21.71 ID:ei45L6+i(1) AAS
>>40
/usr/i686-pc-cygwin/sys-root/usr
がcxgwin32のルートになるわけやね。
cygwin64の/homeや/optを/cygdpgve/c/cygwin64/homeの形式で
/usr/i686-pc-cygwin/sys-root/usr/homeとしてシンボリックリンク張ったらあらかた違和感なく32bit, 64bit混在できるようになった。
1-
あと 944 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.015s