Cygwin + MinGW + GCC 相談室 Part 8 (987レス)
Cygwin + MinGW + GCC 相談室 Part 8 http://mevius.5ch.net/test/read.cgi/tech/1411399211/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
20: デフォルトの名無しさん [sage] 2014/10/30(木) 11:08:43.38 ID:dIih4uCY cygwinでは npm init がエラーになるんだな ちょくちょく独特なトラブルが起こるからいまいち使いにくい http://mevius.5ch.net/test/read.cgi/tech/1411399211/20
21: 名無しさん@そうだ選挙に行こう [sage] 2014/12/13(土) 19:05:16.23 ID:yqGWGgnp 久々にTDMの更新来てるねー http://mevius.5ch.net/test/read.cgi/tech/1411399211/21
22: デフォルトの名無しさん [sage] 2014/12/19(金) 20:07:46.12 ID:TVDdwTgk msysはなんか一時期まともにインスコできない時期があったので、 cygwin64にcygwin, cygwin32, mingw32, mingw64のコンパイラ入れまくりに落ち着きつつある。 結局windwosネイティブのdll使うにはmingwじゃないとダメだしクロスコンパイルしまくりでやはり面倒ではある。 http://mevius.5ch.net/test/read.cgi/tech/1411399211/22
23: デフォルトの名無しさん [] 2014/12/23(火) 12:58:12.55 ID:wtjAlw23 x265をコンパイルできるFFmpegをビルドするためにMinGW + MSYSを以下のサイトからダウンロードして Windows7に入れました。 http://xhmikosr.1f0.de/tools/msys/ MSYS_MinGW-w64_GCC_492_x86-x64_Full.7z 早速x265のコンパイルをしようと以下のサイトを参考にしたのですが、 http://qiita.com/pb_tmz08/items/29165f4c3ef9bc4285ab hg, cmakeが必要とのことです。(Linuxには疎いのでhgやcmakeがどういうプログラムなのかいまいち分かりませんが) デフォルトのMinGW + MSYS
にはhgやcmakeは含まれていないようです。 hgやcmakeを使えるようにするにはどうしたらいいでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1411399211/23
24: デフォルトの名無しさん [sage] 2014/12/23(火) 23:02:19.16 ID:40EW/Y2H MinGWはこっちの方がよくね? http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/4.9.2/threads-posix/seh/ hgは http://takuya-1st.hatenablog.jp/entry/20100623/1277256227 ここが参考になるかな http://mevius.5ch.net/test/read.cgi/tech/1411399211/24
25: 23 [sage] 2014/12/24(水) 21:54:49.37 ID:8/ZOVusd ありがとうございました。おかげさまでhg, cmake, ついでにgitまで使えるようになりました。 > MinGWはこっちの方がよくね? MSYSを別途導入する必要があるようだったので>>23のMSYS_MinGW-w64_GCC_492_x86-x64_Full.7zを使うことにしました。 ところでffmepgのコンパイルをしていて些細な疑問を持ったのですが、 http://d.hatena.ne.jp/kamedo2/20130619/1371662769 のサイトを参考に音声コーデックの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は通りました。 http://mevius.5ch.net/test/read.cgi/tech/1411399211/25
26: 23 [sage] 2014/12/24(水) 21:55:31.04 ID:8/ZOVusd 調子に乗って「fdk-aacだけでなく最近はやりのOpusという音声コーデックもマージしよう」と http://downloads.xiph.org/releases/opus/opus-1.1.tar.gz をダウンロード&展開し、 ./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が通ることが分かりました。 http://qiita.com/tukiyo3/items/ac36375d426d39f203fb fdk-aacはPKG_CONFIG_PATHをエクスポート
せずとも良くて OpusはPKG_CONFIG_PATHをエクスポートしないとconfigureが通らないのはなぜでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1411399211/26
27: デフォルトの名無しさん [sage] 2014/12/26(金) 21:04:32.27 ID:OP/Bn95j Wikipediaに書いてあるじゃん http://ja.wikipedia.org/wiki/Pkg-config まあ要するにコンパイルフラグをいじらなくて済むという話では http://mevius.5ch.net/test/read.cgi/tech/1411399211/27
28: デフォルトの名無しさん [sage] 2014/12/27(土) 13:54:55.65 ID:BCIPL5E0 MSYS2 Avira で TR/Crypt.XPACK.Gen2 連発するから困る http://mevius.5ch.net/test/read.cgi/tech/1411399211/28
29: デフォルトの名無しさん [sage] 2014/12/29(月) 09:28:57.28 ID:mY3AFavo >>26 pkg-configにコンパイル時のフラグを調べるためのデータを置く場所を教えるため。 てか、そこまで出来てるくせに勘が悪いな http://mevius.5ch.net/test/read.cgi/tech/1411399211/29
30: 23 [sage] 2014/12/29(月) 11:52:31.05 ID:m849QDq1 >>27 >>29 コンパイル時のフラグの格納場所でしたか。 不思議なのはfdk-aacはPKG_CONFIG_PATHの場所を教えなくても問題無く進み、 Opusのときはきちんと提示してやらないと進まなかった点です。 二つは仕組みが違うんでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1411399211/30
31: デフォルトの名無しさん [sage] 2014/12/30(火) 12:28:25.80 ID:NSL+ZZg4 >>30 デフオルトの場所にあれば教えんでも工工わな http://mevius.5ch.net/test/read.cgi/tech/1411399211/31
32: 23 [sage] 2014/12/30(火) 16:47:35.91 ID:tC9GpZ1z >>31 fdk-aacもOpusも共に ./configure --prefix=/mingw/i686-w64-mingw32 とconfiguraしています。だから同じ /mingw/i686-w64-mingw32 にライブラリは格納されてるはずなんです・・・ Opusだけどっかイレギュラーな場所にライブラリをコピーしちゃってるんでしょうかね? http://mevius.5ch.net/test/read.cgi/tech/1411399211/32
33: デフォルトの名無しさん [sage] 2014/12/30(火) 21:17:40.84 ID:NhJ3bWE9 >>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 を設定する必要がある。 http://
mevius.5ch.net/test/read.cgi/tech/1411399211/33
34: 23 [sage] 2014/12/30(火) 22:10:28.69 ID:tC9GpZ1z >>33 そういうことでしたか・・・ そういうの詳しい人が身近にいてくれると助かるんですが・・・ http://mevius.5ch.net/test/read.cgi/tech/1411399211/34
35: デフォルトの名無しさん [sage] 2015/01/04(日) 16:52:23.98 ID:BvegMGE7 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パスを認識させる良い方法がありましたら御指南願います。 http://mevius.5ch.net/test/read.cgi/tech/1411399211/35
36: デフォルトの名無しさん [] 2015/01/04(日) 16:57:48.42 ID:Qu74iV3W >>35 これはコンパイラでなく、OSの仕様。 windows OSの仕様を変更させるか、コンパイラ改造するしかないんでは? 認識できるわけではないが、簡単なのは自作ラッパーを挟む。 http://mevius.5ch.net/test/read.cgi/tech/1411399211/36
37: デフォルトの名無しさん [sage] 2015/01/04(日) 17:25:27.63 ID:tnXQTL6U >>35 Cygwinの32bitと64bitだとルートディレクトリが違うからじゃね? 32bitコード書くならCygwin32上で作業した方がいいのでは。 http://mevius.5ch.net/test/read.cgi/tech/1411399211/37
38: デフォルトの名無しさん [sage] 2015/01/04(日) 18:42:58.13 ID:BvegMGE7 >>37 windows8でcygwin32使うとfork errorでまくりでコンパイルが進まないorz http://mevius.5ch.net/test/read.cgi/tech/1411399211/38
39: デフォルトの名無しさん [sage] 2015/01/04(日) 18:44:55.84 ID:BvegMGE7 >>36 いやいや、cygwin64環境、cygwin32環境でネイティブのgccを使うとPOSIXパス使えるんだわ。 ところが、cygwin64環境でcygwin32(i686-pc-cygwin)だと使えないわけで。 32bit版cygwin1.dllがルートパスをどこと認識してるか、ってところなのかな。 http://mevius.5ch.net/test/read.cgi/tech/1411399211/39
40: デフォルトの名無しさん [sage] 2015/01/04(日) 20:35:46.69 ID:tnXQTL6U >>38 rebaseallやってもforkエラー出まくりなんだとしたらしゃーないな。 cygwin1.dllがあるディレクトリの1つ上がルートディレクトリになってるはず。 単にUnix形式になってさえいればいいのなら /cygdrive/c/cygwin64/home/foo/bar.txt で 開けばいいし、それだとダメならfstabをいじるか http://mevius.5ch.net/test/read.cgi/tech/1411399211/40
41: デフォルトの名無しさん [sage] 2015/01/04(日) 23:12:59.46 ID:BvegMGE7 >>40 windows7ではrebaseで治るんだけどなぁ。8.1はどうやっても連発で。 cygwin1.dllの一つ上がルートディレクトリはいい話を聞きましたわ。 マウントかリンクでなか胡麻化せるかも http://mevius.5ch.net/test/read.cgi/tech/1411399211/41
42: デフォルトの名無しさん [sage] 2015/01/04(日) 23:41:05.65 ID:BvegMGE7 >>40 ファイル回りを/cygdrive形式で徹底することでなんとか胡麻化しできました 有難うございました。 http://mevius.5ch.net/test/read.cgi/tech/1411399211/42
43: デフォルトの名無しさん [sage] 2015/01/06(火) 23:06:21.71 ID:ei45L6+i >>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混在できるようになった。 http://mevius.5ch.net/test/read.cgi/tech/1411399211/43
44: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/01/17(土) 00:33:59.73 ID:PPUSm5YO OpenMPをお使いの方、おらっしゃられるでござるか? http://mevius.5ch.net/test/read.cgi/tech/1411399211/44
45: デフォルトの名無しさん [sage] 2015/01/20(火) 15:45:02.99 ID:aVZQpFMF あるプログラムをmakeしてるんですが、 ./configureで "Can't find pthread library" って出ます。 どうすればpthread libraryをインストールできますか? http://mevius.5ch.net/test/read.cgi/tech/1411399211/45
46: デフォルトの名無しさん [sage] 2015/01/21(水) 22:52:26.98 ID:8VLGtKQr setupすればいいだろ http://mevius.5ch.net/test/read.cgi/tech/1411399211/46
47: デフォルトの名無しさん [sage] 2015/02/08(日) 15:58:27.25 ID:GkyTZ4Fl g++で関数に一時オブジェクトを渡した場合の警告を抑制するにはどうしたらよいですか? function( &HOGE() ) taking address of temporary いったん変数に受けて回避していますが、その変数を作るのがめんどうくさいです。 http://mevius.5ch.net/test/read.cgi/tech/1411399211/47
48: デフォルトの名無しさん [] 2015/02/08(日) 23:18:34.94 ID:xZ3vG5op MinGWでlibmysql.dllを使いたくて http://blog.livedoor.jp/dq_school/archives/1256405.html を参考にして > 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 とかやってみたんだけど相変わらず 「undefined reference to
mysql_init@4'」 とかのエラーが出やがります。 誰か助けてください。 defファイルを覗いてみたら「@n」のついてる関数名が1つも無いのが気になったけど、 http://tsubaki.hatenablog.com/entry/20121020/1350734844 の >defファイルの中を見ると関数名の後ろに@8だの@12だの色々な数字がついているのが分かります。 との記述と食い違うのが気になります。 http://mevius.5ch.net/test/read.cgi/tech/1411399211/48
49: デフォルトの名無しさん [sage] 2015/02/12(木) 00:40:45.45 ID:mUfomLLZ mingwはvc++用のライブラリをそのまま食えるだろ http://mevius.5ch.net/test/read.cgi/tech/1411399211/49
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 938 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.021s