1read 100read
2013年17プログラム90: Cygwin + MinGW + GCC 相談室 Part 7 (343) TOP カテ一覧 スレ一覧 2ch元 削除依頼
COM (386)
インテルC++コンパイラ9.0発表! (589)
C++によるDICOMファイル解析 (184)
OpenMPプログラミング (393)
国産オープンソースDIコンテナSeasar2 その16 (512)
Microsoft Silverlight その9 (472)

Cygwin + MinGW + GCC 相談室 Part 7


1 :2013/01/01 〜 最終レス :2013/09/18
Windows上で動作するフリーの開発環境 CygwinとMinGWに関する相談スレッドです。
過去スレ:
Cygwin + MinGW + GCC 相談室 Part 6
http://toro.2ch.net/test/read.cgi/tech/1304609116/
Cygwin + MinGW + GCC 相談室 Part 5
http://hibari.2ch.net/test/read.cgi/tech/1269400706/
Cygwin + MinGW + GCC 相談室 Part 4
http://pc12.2ch.net/test/read.cgi/tech/1221233882/
cygwin + mingwn + gcc 相談室 Part3
http://pc11.2ch.net/test/read.cgi/tech/1177944767/
cygwin + mingwn + gcc 相談室 Part2
http://pc11.2ch.net/test/read.cgi/tech/1126103347/
cygwin + mingwn + gcc 相談室
http://pc8.2ch.net/test/read.cgi/tech/1058134693/
関連サイト:
Cygwin http://www.cygwin.com/
MinGW http://www.mingw.org/
関連スレッド:
GCCについて part10
http://toro.2ch.net/test/read.cgi/tech/1315026784/

2 :
2 名前:デフォルトの名無しさん[sage] 投稿日:2011/05/06(金) 00:25:49.76
バイナリ配布サイト:
TDM's GCC/mingw32 Builds
http://www.tdragon.net/recentgcc/
Komisar Mingw
http://komisar.gin.by/mingw/
msys-cn - Project Hosting on Google Code
http://code.google.com/p/msys-cn/
MAME | Tools for building MAME on Windows
http://mamedev.org/tools/
MinGW Distro - nuwen.net
http://nuwen.net/mingw.html
mingw-w64
http://mingw-w64.sourceforge.net/
Cross-Mingw.GCC - x86/x64 - XvidVideo.RU
http://www.xvidvideo.ru/2009-10-22-10-49-14/cat_view/28-cross-mingwgcc-x86x64.html
猫科研究所(felid labo) - MinGW猫科研究所パック
http://up-cat.net/

3 :
ttp://www.mingw.org/wiki/Linking_hangs_under_Windows_7
rare occasionsってのが嫌すね。
exFATやSMBだとどうなるんだろ?

4 :
安物NASのSMBと100BASE-TXだと、gccのtarballの展開
(NAS上で、bunzip2|tar xf -)
すら時間が掛かり過ぎる。
常用するのは厳しいかも。

5 :
mingw の gcc で test.dll とインポートライブラリ libtest.a を次のように作った
g++ --shared -o test.dll test.cpp
pexports test.dll > test.def
dlltool --dllname test.dll --input-def test.def --output-lib libtest.a
それを実際にリンクさせようとしたところ、
g++ -Lライブラリのパス -ltest main.cpp
とやったら、リンクエラー undefined reference to・・・ が発生した。
libtest.a をカレントディレクトリにコピーしてきて
g++ main.cpp libtest.a
とやったら、ビルドできた。
ネット上で mingw の dll の使い方を調べてみると
前者の方法で良いみたいだけど、なぜかできない。
なんで?

6 :
main.cpp と -ltest の順番を変えろ。
超 FAQ

7 :
いろんな種類のgccが出て来てるね。解説キボンヌ。

8 :
イボンヌです

9 :
>>6
ありがと、まさにそれだった。
一応使う前に FAQ は見たんですけどね
http://archive.linux.or.jp/JF/JFdocs/archive/GCC-FAQ/

10 :
>>8
つまり畑は違えど種は同じ、と

11 :
http://www.sixnine.net/cygwin/translation/mingw-doc/mingwfaq.html
ここを見ると、mingw32-make は msys の make に比べて
機能が欠けていたり修正されていたりするそうだけど、
具体的にはどんな機能が書けていたり修正されてるの?
この辺りネットで調べてみても、誰も具体的には説明していないような気がする。
当然だけど、これでビルドされた exe ファイルに違いはないよね?

12 :
うん

13 :
msys*.dllをリンクしたmakeはMSYSのパス(/usr/local)をネイティブパス(C:\mingw\msys\local)に変換してくれたりするのでは

14 :
GNUのサイトからmakeのソースを落としてそのままビルドしようとするとconfigureで
>case "$has_wait_nohang" in
> no) echo
> echo "WARNING: Your system has neither waitpid() nor wait3()."
> echo " Without one of these, signal handling is unreliable."
> echo " You should be aware that running GNU make with -j"
> echo " could result in erratic behavior."
> echo ;;
>esac
と言われる。
waitpid()はmsys-1.0.dllの中にあるので、MinGWのサイトにあるmsysを使うようにパッチされたソース
(make-3.81-3-msys-1.0.13-src.tar.lzma)を使ってビルドされたmakeならば-jオプションがちゃんと動くと思う

15 :
今まで make って、Makefile に書かれたコマンドを単に実行するだけで、
そのコマンドが使うデフォルトのパスとかには一切関わらないと思ってたが、
話を聞いてるとどうも違うみたいだ

16 :
rubenvbって何?

17 :
>>15
ディフォルトメークルールで何でもあり。

18 :
>>14
msysサポート如何にかかわらず make -j はよく刺さる。 ちゃんと動くバージョン希望。
むしろ今後のプロジェクトでは cmake+ninja にしろ。ちゃんと、しかも高速に並列動作する。
>>16
理解できていないものをことごとく馬具呼ばわりする蘭厨。

19 :
>>7-8>>10
そういや32bit版はC++の例外絡みでdw2とsjljに分かれてますね。

20 :
分かれてるね

21 :
うん

22 :
前スレのcommon lispのconfigureがmsysでコケちゃったの別解
msysやめて、cygwinでやってみた
$ CC=i686-w64-mingw32-gcc CXX=i686-w64-mingw32-g++ ./configure --enable-ansi --build=i686-w64-mingw32
(事前にcygwinにmingwなgmpいれとかないといけない。)
これで、configureは成功する。
しかし、makeでまだ、コケる。

23 :
c++.exe と g++.exe ってなんか違うん?

24 :
>>23
c++.exe と g++.exe のファイルのハッシュ値が一致するから同じものやね。
Linaxなんかだと、どちらかは片方のシンボリックリンクとかになってるんじゃないだろうか。

25 :
Linaxっておいw

26 :
そうなのか。
何のためにあるんだろ、歴史的な経緯とか、互換性のためかな。
今はどちらでも気にしないで使って良いんだね。
ありがと。

27 :
互換性だろうな
ccコマンドと同じ事だろう

28 :
>>24-25
トイレ?

29 :
みんなgcc捨ててclang使ってないの?
clangはエラーメッセージがgccよりわかりやすくてよい

30 :
clangはもっと簡単に使えるようにしてよ
gccみたいに解凍して環境変数設定したら即使えるようにならない限り選択肢にならん

31 :
Cygwin の clang はインスコ一発で使えないか?

32 :
春先に出るであろうgcc-4.8はclangみたいなエラー表示してくれるよ

33 :
cygwinの設定で環境変数を変数名HOME、値/home/usernameと設定したのですが、
HOMEという変数名はcygwinを使うためだけに設定しても大丈夫なのですか?
他のソフトでも環境変数のHOMEを設定するときに不都合があったりするのでしょうか。
大学の授業の延長で自宅のPCでも使えるようにしたので、環境変数とかについては無知です。
よろしくお願いします。
homeディレクトリをC:\cygwin\home\usernameにしておきたいのですが...

34 :
たとえばバッチならバッチの冒頭でセットするとか

35 :
ふーん

36 :
>>33
bash側でHOMEを設定するなら、Windowsアプリには影響しないよ。

37 :
>>36
ありがとうございます。
bashについては自分で調べておきます。

38 :
>>25
俺の環境ではLinaxはLinuxへのシンボリックリンクだから大丈夫

39 :
ちょっと気をつける点があるが HOME を /cygdrive/c/Users/yourname にすると便利なことが多い。

40 :
mount?
/etc/fstab

41 :
パーミッションが0になってWindowsから書き込みできなくなりった

42 :
>>1
新年明けましておめでとう。良い年であるといいね

43 :
gcc で32/64bit syntax-only コンパイルを行いたいがスイッチによって定義済みマクロが切り替わらないです。
これって全部自分で再定義しないとだめなの? __SIZE_TYPE__ とか __PTRDIFF_TYPE__ とかその他もろもろ。
ILP32/LP64/LLP64とかを切り替えて syntax-only がしたいんだけどどうすれば?

44 :
1. 上記に追加、というかこれが本題で clang で syntax-only をしたいのだが、 -m32/m64 に相当するスイッチも見当たらないしどうやって32/64bitの切り替えを行えばいい?
ちなみに 64bit 想定で size_t が uint64_t 相当になると <new> をインクルードしただけで operator new がエラーになる。
第一引数の size_t は uint32_t 想定である的なエラーになるんだが・・・。
これを解決して size_t が uint64_t でも syntax-check をパスできるようにしたいです。

45 :
2. clang で Windows.hを syntax-only したときにデバッグビルドだと __STR2WSTRマクロで勝手にリテラル記号をつけられてしまうのだがclang がこれに対応していないのかリテラルとして処理できずにエラーになるんだが、どうする方法ない?
とりあえず現状 -U_DEBUG で非デバッグ版として回避してるけど、_DEBUG ありでちゃんと通るようにしたい
3. clang のオプションについての質問
-fms-version -fms-extensions を設定しているのに _MSC_VER や _MSC_EXTENSIONS が定義されない
これってどうなの?まだ未対応?

46 :
-no include 系オプションがおかしい?
clang -fsyntax-only -x c++ -v /dev/null
とかで表示されるインクルード対象だが、オプション一覧にでてるのは
-nobuiltininc Disable builtin #include directories
-nostdinc++ Disable standard #include directories for the C++ standard library
-nostdsysteminc Disable standard system #include directories
デフォルトでインクルードされる対処を全て除外したいので
clang -fsyntax-only -x c++ -v -nostdinc /dev/null
とかにすると望みの結果になるのだが

47 :
clang -cc1 -fsyntax-only -x c++ -v -nostdinc /dev/null
とするとダメ。
正確には -v つけてるうちはよいが外して、ビルドすると cc1 は -nostdinc ねぇよ、っていわれます。
-v -nostdinc で出力されたオプション列を真似して
-cc1 に渡す nobuiltininc/nostdinc++/nostdsysteminc を指定してもinclude対象ディレクトリを全ては除外できずnostdinc相当になりません。
これってどうすればいいんでしょうかね?

48 :
ttps://sites.google.com/site/x32abi/
ILP32(x32abi)はウニックス系だけじゃね、つかえるのは
とういうか、windowsでx32apiのバイナリ動く(ある)のけ
mingw64は
i686-w64-mingw32
x86_64-w64-mingw64
で64bit/32bit環境を混在させないようにしてる
clangはこれからでしょ、まだ枯れてないような

49 :
mingw初心者で解らんから聞くけど
i686-w64-mingw32 (i686, w64, mingw32)
x86_64-w64-mingw64 (x86_64, w64, mingw64)
の各部は何を意味するですか

50 :
ggrks

51 :
バツ x86_64-w64-mingw64
マル x86_64-w64-mingw32
i686-pc-cygwin
i686-pc-mingw32
gccのconfig.hostとか覗いてみたら、なんとなくわかるよ

52 :
>>44
ggrks

53 :
gnu-grks

54 :
cygwinの中でしか使い物に成らないんだからPEじゃなくランチャーかましてELFで提供してくれればよかったのに

55 :
g++-4.7 になってから C++ ABI が変わったが clang がまるで対応してない感じ。 (ひとごと)

56 :
boostをビルドしたが、VCのmlが必要なんだな

57 :
boostのビルド時間の長さは異常

58 :
distro mingw 9.6
boostが1.53.0になって付属ユーティリティがマイナーバージョンアップしてる以外は
大して変わってない模様

59 :
>>58
それboost context libがないからcoroutineが使えない
ということで俺boostビルド

60 :
いきなりで申し訳ありません。
連投になりますが失礼します。
現在Windows7-64bitOSにCygwinを入れております。
今回tcl/tk-8.4.19ライブラリを入れたいと考え、
Tcl Developper XchangeからGzipファイルをダウンロードしてmakeを行いました。

61 :
>>60の続き
tclのほうはうまくいったのですが、tkのほうで./configureをしたところ
$ ./configure



checking for dlopen in -ldl... (cached) yes
checking for ar... (cached) ar
Can't figure out how to do dynamic loading or shared libraries
on this system.
checking for build with symbols... no


となりうまくいかず、makeにも失敗しました。
どなたか解決策を知りませんでしょうか。よろしくお願いいたします。

62 :
config.logを

63 :
cygwinのpakageは8.5.11ですが
ttp://cygwin.com/packages/tcl-tk/
downstreamがお好きなんですね

64 :
レス遅になって申し訳ありません
>>62さん
長くなるのでupしました
レベルが低くurlが張れないので情報だけで申し訳ありません
うpろだ@2chライブラリーの
ファイル名lib634095.txt
オリジナル名config.logconfig.log
です
よろしくお願いします
>>63さん
使いたいソフトをmakeするのに8.5以上のバージョンだとだめで
8.4.19を使わないといけなかったので・・・

65 :
これと同じかな
tcl/tkライブラリのインストールについて
ttp://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11101739481

66 :
> configure:5319:28: fatal error: X11/XIntrinsic.h: No such file or directory

67 :
./configure --without-x

68 :
これってバグだろうか?
ttp://www.07ch.net/up2/src/lena8673.png
Target:x86_64-w64-mingw32
MinGW64 gcc version 4.7.2 (rubenvb-4.7.2-release)

69 :
ちなみにビルドログ
ttp://www.07ch.net/up2/src/lena8674.zip

70 :
64bitアプリっていっても
そんなにでかい静的配列は作れないみたいだよ
windowsの制約らしいけど

71 :
勘違いしてました。ありがとう

72 :
>>64です
長い間入れずに申し訳ありません
>>65さん それと同一人物です
./configure --with-tcl=../../tcl8.4.19/unix \
--x-includes=/usr/include/X11 --x-libraries=/usr/lib/X11 \
のようにしたところパスは一応通り、tkWinDefault.hが見つからないとエラーが出たので
winのフォルダから持ってきたところ一応makeはできました。
皆様のご協力ありがとうございます。
ただ、configureでの
Can't figure out how to do dynamic loading or shared libraries
on this system.
は解決できませんでした・・・

73 :
cygwin64キテルよ

74 :
>>72
共有ライブラリが作れないっていってんだったら、
--disable-shared
だかなんだか、共有ライブラリを作らない設定にしたらどうだよ。
ってか、メッセージちゃんと読んで./configure --helpでオプション調べるくらいしろよ。

75 :
cmdのstartのようなコマンドはcygwinにありますか?
たとえばcygwinコンソール起動中にvimコマンドで、コンソール内でText編集、保存、cygwinに戻ってコンパイル
というのは面倒なので、新しいウィンドウでアプリケーションを起動するコマンドを知りたいです。

76 :
>>75
/usr/bin/cygstart.exe

77 :
>>76
cygstart vim TestRun.java
でできました。ありがとうございます

78 :
windows7の64bit環境でmingwを使いc++のプログラムをコンパイルしようとしているのですが、
環境変数をC:\mingw\binに設定し、hello worldを表示させるだけのコードにコンパイルをかけてみると
g++:エラー:CreateProcess:No such file or directory
となってしまいます
ソースファイルのディレクトリも合っていますしlsで存在も確認できています
ここ数日ほどこれで足止め食らってます どうか解決策をご教授ください

79 :
ggrks
エスパー
http://absolutearea.blogspot.jp/2010/07/eclipse-cdt-mingw64bit.html

80 :
1.環境変数なんてイラン
2.MinGW64\binをMinGW32\binよりPathの前方に移動させる
これでどや?

81 :
>>79
回答ありがとうございます
そのサイトにもたどり着いて試したんですが・・・
-vで内容を確認しても特に間違っている感じはないんです
>>80
同じく回答ありがとうございます
MinGWは64bit分しかいれてないのでMinGW32はないんです

82 :
g++ -vでコンパイルしたときの出力を貼れよ
ここじゃなくてpastebinとかでな

83 :
g++:エラー:CreateProcess:No such file or directory
ってなんかmingwじゃなくPC側の設定とかに問題ありって感じだな

84 :
とりあえず
where gcc
objdump -p C:\MinGW64\bin\gcc.exe | grep DLL
objdump -p C:\MinGW64\bin\gcc.exe | grep for
C:\MinGW64\bin\gcc.exe --version
をやってみようか(C:\MinGW64\binはMinGW64のインストールフォルダ)
http://www.07ch.net/up2/src/lena8814.png

85 :
>>82
こんな出力です
pastebin.com/d4q1BMGv
URLを直接張りたいんですがレベルが低いとかで書き込めないんです すいません
>>83
PC側の設定ですか・・・ cmdでコンパイラをさわるのは初めてでどうにも難しくて
>>84
やってみましたところ、こんな出力になりました
pastebin.com/7XPuyLCx

86 :
>>85
"cc1plus -quiet -v -iprefix C:\MinGW\libexec\gccx86_64-w64-mingw32/4.5.2/"
libexec\gccとx86_64が引っ付いてるのが原因か
とりあえずもっと新しいコンパイラで試してみて

87 :
そのバージョンsourceforgeに無くね?
exeでインストールした?
exeならコントロールパネルから削除してC:\MinGWも全て削除してもっと新しいやつをインストールしたほうが良さげ
zipならそのままC:\MinGWを全部削除して入れ直した方が良さそう
win32とwin64同梱版はややこしいので、たとえばこことか
http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/sezero_4.5_20111101/mingw-w64-bin_x86_64-mingw_20111101_sezero.zip/download

88 :
>>87
それも古いわw
4.7.2にしとけ

89 :
お、俺の環境は古いのか……
ど、どこぞ?

90 :
>>89
自分で4.7.2をソースよりビルドする。かっこいい

91 :
>>90
configure: error: C preprocessor "/lib/cpp" fails sanity check

92 :
cygwinのsetup.exeで入れたらどうなる?

93 :
4.8.0のRCが出たらしいぞ

94 :
MSYSなんです

95 :
最新のVisualStudioでコンパイルしたのライブラリ(lib)とヘッダ(hpp)があります(ソースコードcppはありません)
これをMinGW+MSYS+GCCの環境で再利用することはできますか?

96 :
できますよ

97 :
>>95
>>96
C 言語のライブラリ(extern "C" { } の中)は使えるけど
C++ は VC と gcc でマングルが違うのでコンパイル済みだと使えなかったんじゃね?

98 :
https://www.google.co.jp/#hl=ja&gs_rn=6&gs_ri=psy-ab&gs_is=1&cp=14&gs_id=1hk&xhr=t&q=MinGW+lib+dll+%E5%A4%89%E6%8F%9B&es_nrs=true&pf=p&sclient=psy-ab&oq=MinGW+lib+dll+%E5%A4%89%E6%8F%9B

99 :
DLLにコンパイルして動的ロードでおk

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
インテルC++コンパイラ9.0発表! (589)
【日本語不自由】Eclipse Pleiades プラグイン (125)
P2P型の完全匿名掲示板はまだ出来ないの?その3 (410)
【日本語不自由】Eclipse Pleiades プラグイン (125)
メガデモを語る fr-08 (738)
くだすれC++/CLI(初心者用)part2 (723)
--log9.info------------------
Forza4 チューニング道場 9コース目 (595)
【Wii】Punch-Out!! パンチアウト (894)
パワプロ12 マイライフ46年目 (205)
実況パワフルプロ野球98  2年2組 (357)
【XBOX360/PS3】F1 2010 / 2011 Part22【F1】 (599)
実況パワフルプロ野球2011 2chチームへの道9 (921)
【Wii U】FIFA13 Part1【EA】 (192)
六道聖を語るスレ (166)
【PS3】MLOオススメ選手紹介スレ【ウイイレ2013】 (106)
【戸塚】箱根駅伝がゲーム化したら買う3【平塚】 (897)
【20周年】ファミスタ・ワースタ総合スレパート8 (807)
オレが監督だ!〜激闘ペナントレース〜 Part2 (433)
Forza4 マルチスクリーン友の会 (300)
GTレーシング:モーターアカデミー Free+ (167)
【EWET】ウイイレタクティクス エディット専用 (758)
【PS3/360】ウイニングイレブン2010 Part39 (670)
--log55.com------------------
キラキラハッピー★ ひらけ!ここたま 第46話 Part1
☆映画実況13661 ポセイドン・アドベンチャー2 #3
勇者ああああ〜ゲーム知識ゼロでもなんとなく見られるゲーム番組〜#117★1
青春高校3年C組【担任:芸人 副担任:中井りか 7/25〜】
アイカツフレンズ! 第67話 Part2
【マターリ】太川蛭子の旅バラ2時間すぺさる「バス旅2019第3弾 日光〜会津若松」【マドンナ?】
太川蛭子の旅バラ2時間SP「バス旅2019 第3弾 日光〜会津若松」★4
二代目 和風総本家「世界に発信!外国人記者が見たニッポン」★1