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

20: 2014/10/30(木)11:08 ID:dIih4uCY(1) AAS
cygwinでは npm init がエラーになるんだな
ちょくちょく独特なトラブルが起こるからいまいち使いにくい
21: 名無しさん@そうだ選挙に行こう 2014/12/13(土)19:05 ID:yqGWGgnp(1) AAS
久々にTDMの更新来てるねー
22: 2014/12/19(金)20:07 ID:TVDdwTgk(1) AAS
msysはなんか一時期まともにインスコできない時期があったので、
cygwin64にcygwin, cygwin32, mingw32, mingw64のコンパイラ入れまくりに落ち着きつつある。
結局windwosネイティブのdll使うにはmingwじゃないとダメだしクロスコンパイルしまくりでやはり面倒ではある。
23
(5): 2014/12/23(火)12:58 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: 2014/12/23(火)23:02 ID:40EW/Y2H(1) AAS
MinGWはこっちの方がよくね?
外部リンク:sourceforge.net

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

ここが参考になるかな
25: 23 2014/12/24(水)21:54 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
省7
26
(1): 23 2014/12/24(水)21:55 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
省8
27
(1): 2014/12/26(金)21:04 ID:OP/Bn95j(1) AAS
Wikipediaに書いてあるじゃん

外部リンク:ja.wikipedia.org

まあ要するにコンパイルフラグをいじらなくて済むという話では
28: 2014/12/27(土)13:54 ID:BCIPL5E0(1) AAS
MSYS2 Avira で TR/Crypt.XPACK.Gen2 連発するから困る
29
(1): 2014/12/29(月)09:28 ID:mY3AFavo(1) AAS
>>26
pkg-configにコンパイル時のフラグを調べるためのデータを置く場所を教えるため。
てか、そこまで出来てるくせに勘が悪いな
30
(2): 23 2014/12/29(月)11:52 ID:m849QDq1(1) AAS
>>27
>>29
コンパイル時のフラグの格納場所でしたか。
不思議なのはfdk-aacはPKG_CONFIG_PATHの場所を教えなくても問題無く進み、
Opusのときはきちんと提示してやらないと進まなかった点です。
二つは仕組みが違うんでしょうか?
31
(1): 2014/12/30(火)12:28 ID:NSL+ZZg4(1) AAS
>>30
デフオルトの場所にあれば教えんでも工工わな
32
(1): 23 2014/12/30(火)16:47 ID:tC9GpZ1z(1/2) AAS
>>31
fdk-aacもOpusも共に
 ./configure --prefix=/mingw/i686-w64-mingw32
とconfiguraしています。だから同じ /mingw/i686-w64-mingw32 にライブラリは格納されてるはずなんです・・・
Opusだけどっかイレギュラーな場所にライブラリをコピーしちゃってるんでしょうかね?
33
(1): 2014/12/30(火)21:17 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 2014/12/30(火)22:10 ID:tC9GpZ1z(2/2) AAS
>>33
そういうことでしたか・・・
そういうの詳しい人が身近にいてくれると助かるんですが・・・
35
(2): 2015/01/04(日)16:52 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のものを使用している模様。
省2
36
(1): 2015/01/04(日)16:57 ID:Qu74iV3W(1) AAS
>>35
これはコンパイラでなく、OSの仕様。
windows OSの仕様を変更させるか、コンパイラ改造するしかないんでは?
認識できるわけではないが、簡単なのは自作ラッパーを挟む。
37
(1): 2015/01/04(日)17:25 ID:tnXQTL6U(1/2) AAS
>>35
Cygwinの32bitと64bitだとルートディレクトリが違うからじゃね?
32bitコード書くならCygwin32上で作業した方がいいのでは。
38
(1): 2015/01/04(日)18:42 ID:BvegMGE7(2/5) AAS
>>37
windows8でcygwin32使うとfork errorでまくりでコンパイルが進まないorz
39: 2015/01/04(日)18:44 ID:BvegMGE7(3/5) AAS
>>36
いやいや、cygwin64環境、cygwin32環境でネイティブのgccを使うとPOSIXパス使えるんだわ。
ところが、cygwin64環境でcygwin32(i686-pc-cygwin)だと使えないわけで。
32bit版cygwin1.dllがルートパスをどこと認識してるか、ってところなのかな。
40
(3): 2015/01/04(日)20:35 ID:tnXQTL6U(2/2) AAS
>>38
rebaseallやってもforkエラー出まくりなんだとしたらしゃーないな。

cygwin1.dllがあるディレクトリの1つ上がルートディレクトリになってるはず。
単にUnix形式になってさえいればいいのなら /cygdrive/c/cygwin64/home/foo/bar.txt で
開けばいいし、それだとダメならfstabをいじるか
41: 2015/01/04(日)23:12 ID:BvegMGE7(4/5) AAS
>>40
windows7ではrebaseで治るんだけどなぁ。8.1はどうやっても連発で。
cygwin1.dllの一つ上がルートディレクトリはいい話を聞きましたわ。
マウントかリンクでなか胡麻化せるかも
42: 2015/01/04(日)23:41 ID:BvegMGE7(5/5) AAS
>>40
ファイル回りを/cygdrive形式で徹底することでなんとか胡麻化しできました
有難うございました。
43: 2015/01/06(火)23:06 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混在できるようになった。
44: 片山博文MZ ◆T6xkBnTXz7B0 2015/01/17(土)00:33 ID:PPUSm5YO(1) AAS
OpenMPをお使いの方、おらっしゃられるでござるか?
45: 2015/01/20(火)15:45 ID:aVZQpFMF(1) AAS
あるプログラムをmakeしてるんですが、
./configureで
"Can't find pthread library"
って出ます。

どうすればpthread libraryをインストールできますか?
46: 2015/01/21(水)22:52 ID:8VLGtKQr(1) AAS
setupすればいいだろ
47: 2015/02/08(日)15:58 ID:GkyTZ4Fl(1) AAS
g++で関数に一時オブジェクトを渡した場合の警告を抑制するにはどうしたらよいですか?

function( &HOGE() )

taking address of temporary

いったん変数に受けて回避していますが、その変数を作るのがめんどうくさいです。
48: 2015/02/08(日)23:18 ID:xZ3vG5op(1) AAS
MinGWでlibmysql.dllを使いたくて
外部リンク[html]:blog.livedoor.jp
を参考にして

> reimp libmysql.lib
> gcc -I"/C/Program Files/MySQL/MySQL Connector C 6.1/include" -o tester.cgi tester.c
"/C/Program Files/MySQL/MySQL Connector C 6.1/lib/liblibmysql.a"

とか

> reimp -c -d libmysql.lib
> dlltool -k -d libmysql.def -l libmysql.a

とかやってみたんだけど相変わらず
省8
49: 2015/02/12(木)00:40 ID:mUfomLLZ(1) AAS
mingwはvc++用のライブラリをそのまま食えるだろ
1-
あと 938 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.016s