トップページ⇒tech
1001コメント350KB

Cygwin + MinGW + GCC 相談室 Part 3

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2007/04/30(月) 23:52:47
Windows上で動作するフリーの開発環境 CygwinとMinGWに関する相談スレッドです。

過去スレ:
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について part7
http://pc11.2ch.net/test/read.cgi/tech/1145357824/
【激遅】AppleGCC【絶望】
http://pc11.2ch.net/test/read.cgi/tech/1173267844/
0153デフォルトの名無しさん2007/08/09(木) 17:57:32
>>152
製作はWindowsで、
実際の運用はBSD系の環境でやりたいのです。
作業の効率化の為にWindowsで作業しているものの、普通のエディタで作業してもメリットは薄く
VisualStudioでやっていましたが、当然ですが、デバッグ機能はMSのコンパイラでなければまともに動きません。
0154デフォルトの名無しさん2007/08/09(木) 18:03:45
だから、何故VisualStudioで開発しないの?
運用がBSD系だからと言って、クロスで開発できるのならgccに拘る必要もないでしょうに。
もし仮に、BSD系にしかない関数を使っているのならソースを入手してきてコンパイルするとか、
ダミー関数を作るとか、いくらでも手はあるでしょ。
0155デフォルトの名無しさん2007/08/09(木) 18:05:44
>もし仮に、BSD系にしかない関数を使っているのならソースを入手してきてコンパイルするとか、
>ダミー関数を作るとか、いくらでも手はあるでしょ。
当然開発環境がなければ、その選択を取る必要があるでしょうが
あると仮定するならば、わざわざバグが潜む可能性がある開発技法をとるメリットがありません。

0156デフォルトの名無しさん2007/08/09(木) 18:08:19
よくわからんがBSDターゲットでわざわざcygwinでクロス開発を
してるってことかしら
BSDでEmacsenかEclipse + CDTでも使って開発したほうがいいんでないの
0157デフォルトの名無しさん2007/08/09(木) 18:08:40
>>154
何故、そんな遠回りをわざわざ選ばせるんだ?

>>153
Dev-C++
ttp://www.bloodshed.net/

つーか、Eclipseでgcc+cygwin対応の開発環境+デバッガがあったろ?
俺はSun嫌いだから、つかわねぇけど
0158デフォルトの名無しさん2007/08/09(木) 18:17:37
>>157
Sun嫌いだとEclipse使わないのか…
IBM嫌いで使わないってならまだわかるけど…
0159デフォルトの名無しさん2007/08/09(木) 18:27:32
Eclipseの意味を辞書で引いたことがないんでないの?

>>157
皮肉。横着するための努力を惜しむなと。
#どうせ他人事だしね。
0160デフォルトの名無しさん2007/08/09(木) 18:32:46
>>158
君は、Javaの自動アップデートがかかって、Eclipseが不安定になった事が無いのか。
あれほど腹の立つことは無い。
#単純には自動外せば良い話だが、俺はもうSunを信用する事が出来ん。

>>159
皮肉を言うなら、もっと徹底的に。
中途半端過ぎる。
0161デフォルトの名無しさん2007/08/09(木) 19:09:49
>>160
>君は、Javaの自動アップデートがかかって、Eclipseが不安定になった事が無いのか。
ない.JREのバージョンによらずEclipseはもともと不安定だしな.
0162デフォルトの名無しさん2007/08/09(木) 19:45:18
やっぱりオープンだと変なやつ多いな。
きっと、なんかスンゴイの作ってるんだろうな。
0163デフォルトの名無しさん2007/08/12(日) 08:37:59
MSYSで/usrをマウントしたいんですが/にマッピングされてしまいます。
ディレクトリ E:\usr を作って etc/fstabに E:\usr /usr と書いてみたんですが
マウントできませんでした。MSYSで/usrをマウントすることはできないでしょうか。
0164デフォルトの名無しさん2007/08/16(木) 00:08:12
スンゴイで逃げるなよ。皮肉に失敗してただの馬鹿っぽくなってるぞ?
0165デフォルトの名無しさん2007/08/16(木) 01:43:49
gonzuiの作ってるんだろうな。
0166デフォルトの名無しさん2007/08/18(土) 15:29:03
ぶひー cygwinのgdbでwatch pointを使いたいのですが反応がありません おまえらのcygwinでは使えてますか?
0167デフォルトの名無しさん2007/08/18(土) 20:07:00
はい
0168デフォルトの名無しさん2007/08/18(土) 21:39:04
MinGWを3.4.5にしてみた
STLport5.1.3をビルドすると3.4.2では出なかった警告がわらわらと・・・・
何か心配だべ
0169デフォルトの名無しさん2007/08/19(日) 00:41:57
俺は snapshot の msys にしてみたら
$ mkdir foo.dir
$ rm -rf foo.dir
rm: cannot remove directory `foo.dir': No such file or directory
だぜ なんだこりゃ.. orz
01701662007/08/19(日) 00:58:08
うーむ いちおうHardware access (read/write) watchpoint 1ってでるんですが止まらずそのまま実行されちゃいます
0171デフォルトの名無しさん2007/08/19(日) 22:26:47
>>169
rmだけ戻すといいよ
0172デフォルトの名無しさん2007/08/20(月) 05:52:13
>>171
さんくす戻してみます
この現象どうもマウントポイント以下で起きますね
mkdir /foo; rm -r /foo は消せるけど
マウントした /mingw の下にあるディレクトリが消せない(見えてない)
0173デフォルトの名無しさん2007/08/20(月) 08:09:41
msys上での configureが超遅いのには泣ける。

gccのビルドが半日がかりだよ。 orz
0174デフォルトの名無しさん2007/08/21(火) 16:56:54
そういえばついに MinGW 公式での gcc-4.2.1 のプレビュー版が出てきたな…
http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=241304
暇なひと人柱よろ〜
0175デフォルトの名無しさん2007/08/21(火) 17:40:56
そういや最近の事情を知らないんだけど何が変わったの?
0176デフォルトの名無しさん2007/08/21(火) 20:11:35
>>175
OpenMP が入った
0177デフォルトの名無しさん2007/08/21(火) 21:17:52
意味あるのそれ
0178デフォルトの名無しさん2007/08/21(火) 23:30:02
#pragma omp parallel num_threads(100)
printf("uho!\n");
0179デフォルトの名無しさん2007/08/24(金) 20:53:56
Cygwin ってなんのためにあるの?
0180デフォルトの名無しさん2007/08/24(金) 21:21:34
>>179
UNIX の魂を持つ社畜が Windows を使わされた時の救済のために
0181デフォルトの名無しさん2007/08/24(金) 21:34:16
>>180
そしてそのAPIの遅さに絶望するんだよなw
# シェル環境としては便利だからいいけど
0182デフォルトの名無しさん2007/08/24(金) 22:27:28
mingw 使うからいいさー
0183デフォルトの名無しさん2007/08/24(金) 22:44:12
> UNIX の魂を持つ社畜が Windows を使わされた時の救済のために

いや、そのりくつはおかしい。
そういうときは、会社辞めればいいんだよ。
0184デフォルトの名無しさん2007/08/24(金) 22:50:26
Windowsのホームディレクトリ(Document and Settings以下)でls実行すると
異常に時間がかかりすぎ
たかがlsで何やってんだよ
0185デフォルトの名無しさん2007/08/25(土) 12:27:05
MinGW で boost 1.34 使おうと思ってDOS窓から bjam したけど
"-sTOOLS=mingw" を認識しない
ビルドできねw
1.33 の時はこれで通ったんだけどなぁ・・
0186デフォルトの名無しさん2007/08/25(土) 12:42:41
Boostスレ行ってV2で検索汁
0187デフォルトの名無しさん2007/08/25(土) 14:25:11
>>183
社畜が会社を辞めようなんて思うわけがないだろ
社畜はリストラされると全人格が否定されたが如く思って自殺するような人種を指すんだぞ(w
01881852007/08/25(土) 16:39:32
>>186
ありがとう、ビルドできました!
0189デフォルトの名無しさん2007/08/25(土) 20:49:37
> 社畜が会社を辞めようなんて思うわけがないだろ
> 社畜はリストラされると全人格が否定されたが如く思って自殺するような人種を指すんだぞ(w

今の時代にそんな人いるの?www
0190デフォルトの名無しさん2007/08/26(日) 11:39:12
>>179
無料Xサーバのため。
0191デフォルトの名無しさん2007/08/26(日) 12:42:49
>190
それだけなら Xming もあるべ。
0192デフォルトの名無しさん2007/08/26(日) 12:50:54
Astec X ってどうなった?
逆串か何かおかしいようで Web みれんけど。
0193デフォルトの名無しさん2007/08/31(金) 19:34:58
MinGWでmecabをコンパイルしてみたのですが
できあがったdllがlibmecab-1.dllみたいに"-数字.dll"となってしまいます
これをlibmecab.dllのように吐きたいのですがどこを見ればよいのでしょうか
0194デフォルトの名無しさん2007/09/01(土) 17:10:14
>>191
いいこと聞いた。
でも、sshdを使うためにcygwin
0195デフォルトの名無しさん2007/09/02(日) 02:06:50
>193
configure した結果できる libtool の soname_spec を書き換えるのが簡単だと思う。
0196デフォルトの名無しさん2007/09/02(日) 12:26:36
>>195
ありがとうございます!
ご指摘通りsoname_specのversuffixを潰したら望み通りの結果になりました
0197デフォルトの名無しさん2007/09/04(火) 13:08:04
cygwinでwine-0.9.44をmakeできるpatchありませぬか?
というか、configureするとヘッダは検出できるのに
-lX11とか-lpngとか-lfreetypeとか、ライブラリが一切
検出されないんだけど、なんなんだろうか。
0198デフォルトの名無しさん2007/09/05(水) 01:16:35
find /cygdrive/c/ -name 'libX*' -print
0199デフォルトの名無しさん2007/09/05(水) 01:59:40
>197
configure のスクリプト自体が Windows 上の場合にライブラリ名を判別しないように作成されている。
aclocal.m4 先頭の WINE_CHECK_SONAME 参照。
cygcheck 使って依存 DLL を引っ張ってくれば設定できるかもしれない。

で、単なる興味本位だが、Linux 板の Wine スレでも見たんだけどさぁ、なんで Cygwin 上で Wine を使いたいの?
0200デフォルトの名無しさん2007/09/05(水) 02:36:25
そこに、やまが、ある、か ら
0201デフォルトの名無しさん2007/09/06(木) 04:20:56
>>199
別に MinGW でもいいけど、windows で wine が動けば
ベースになる windows のバージョンに依らずにアプリを
動かすラッパーというか互換レイヤーというか、そんな
感じに使えそうな気がしないか。

まあ、make 通っても結局 windows のシステムコールに
頼るわけで、動いても実用的でなさそうだとは思うけどな。
しかし、実際には動かないのではただの皮算用だし、
せめて動かすとこまでいってくれないかなあと思うのは
人情というものだ。

# 「下手の考え休むに似たり」というツッコミは勘弁してくれ
0202デフォルトの名無しさん2007/09/06(木) 04:30:29
そして wine の上で cygwin を動かすんだよな
0203デフォルトの名無しさん2007/09/06(木) 04:32:14
河童の川流れ
0204デフォルトの名無しさん2007/09/06(木) 06:30:41
>>202
当然w
0205デフォルトの名無しさん2007/09/06(木) 07:46:38
取らぬ狸の皮算用
0206デフォルトの名無しさん2007/09/06(木) 18:46:22
zshでcdとかで補完候補リスト内の要素をタブ連打で選んでる時
リスト内に日本語のファイル名があるとリストのレイアウトが崩れて
なおかつタブ押すたんびに、改行が入ってしまうのですが解決策はありますか?

lsでは問題なく日本語のファイル名を表示できているのでzsh側に問題があると思います
0207デフォルトの名無しさん2007/09/07(金) 01:30:31
杉樽如御呼猿
0208デフォルトの名無しさん2007/09/08(土) 18:35:35
ckがマルチバッファに対応してる事に今気がついた俺ガイル
screen起動すると日本語化けてたのですがこれで幸せになれそうです
0209デフォルトの名無しさん2007/09/10(月) 18:46:33
MinGWでgcc-4.2.1使ってみたけど
VistaでGCC_EXEC_PREFIXをセットしないと正常に動かない問題が
解決されたんだな
0210デフォルトの名無しさん2007/09/11(火) 05:23:20
今まで気にしたこともない”[.exe”が何なのかググろうとしたがGoogleの中の人が記号の連続を無視しやがる。
0211デフォルトの名無しさん2007/09/11(火) 07:58:24
中の人も大変だな
シェルスクリプトの

if [ ... ];

で使われる。
0212デフォルトの名無しさん2007/09/11(火) 08:56:51
>>210
Unixだと大抵testの別名(ハードリンク)だな。
0213デフォルトの名無しさん2007/09/11(火) 13:49:35
googleの中の人に[やら.やらをエスケープして渡すことはできますか

という質問かと思った。
0214デフォルトの名無しさん2007/09/12(水) 00:38:44
>>213
それだとスレ違いになってしまうと思ったのだが。
案外素直にそういうことだったのかも知らん。
0215デフォルトの名無しさん2007/09/12(水) 05:26:48
ただのちらしの裏だろ
みんな親切すぎw
0216デフォルトの名無しさん2007/09/17(月) 23:57:26
質問ですが
cygwin + ada でヘローワールドを作成しました

これがcygwin上からでしか動かない
またはDLLが必要になるのですが
C++ + minGW みたいにexe単体で動かす事は出来るのですか?
0217デフォルトの名無しさん2007/09/18(火) 00:25:02
cygwinでコンパイラをMinGWに
0218デフォルトの名無しさん2007/09/18(火) 00:26:11
>>216
MinGWのgnatを入れる
0219デフォルトの名無しさん2007/09/18(火) 11:28:31
OKベイベー!試してみるぜヨロシク!!!
0220デフォルトの名無しさん2007/09/18(火) 21:03:55
>>216
コンパイル時に-mno-cygwinオプション付ければいいよ。
GUIなアプリケーション書いてるならさらに-mwindowsオプションも付ける。
02212212007/09/18(火) 21:14:20
みんなありがとう!

なんかエラーが出たッぽい
リンカエラーだ
だがここから先は俺の役目
>>221
俺に任せろ!
0222デフォルトの名無しさん2007/09/18(火) 21:20:02
adaでも-mno-cygwinって使えるのか?
0223デフォルトの名無しさん2007/09/18(火) 21:36:23
オーバーマンキングエイダー 超人ada王
エイダーマンキングゲイナー ada人ゲイナー王
0224デフォルトの名無しさん2007/09/18(火) 23:04:41
質問させてください。
windresでリソースをコンパイルしようとしたのですが、下記のエラーがでます。
gcc: installation problem, cannot exec `cc1': No such file or directory
解決策をご存知の方おられますか?
0225デフォルトの名無しさん2007/09/18(火) 23:37:06
>>224
再インストール
今度は正しくな
0226デフォルトの名無しさん2007/09/19(水) 15:30:35
Cygwin + MinGW + GCC
なんてソースしか公開してないイケズなアプリのコンパイルにだけ使えばいいんです。
0227デフォルトの名無しさん2007/09/21(金) 10:07:03
cygwinのg++でstd::wcoutやstd::wstringを使いたいと思い
gcc3.4.5をビルドしそれを使いコンパイルしてみたのですが「stdにwcoutなんてないよ」と言われてしまいました

configureのログを見てみると
checking for fgetwc... no
checking for fgetws... no
checking for fputwc... no
checking for fputws... no
checking for fwide... no
とありwidecharを扱うCの関数がないのが問題のひとつだと思うのですが
cygwinでこれらを使えるようにできるパッチなどはありますか?
0228デフォルトの名無しさん2007/09/21(金) 23:03:41
>227
Cygwin のロケール実装が腐ってるのがそもそもの原因なので諦めるのが吉。
0229デフォルトの名無しさん2007/09/21(金) 23:25:10
そしてMinGWではライブラリ実装が未整備という罠
0230デフォルトの名無しさん2007/09/22(土) 00:17:00
結論:MSのVisual C++を持っている奴を殺して奪い取り世紀末覇者になれ!!
0231デフォルトの名無しさん2007/09/22(土) 01:17:19
そこまでしなくてもExpressとPlatform SDKでいけるだろ
スレ違いだが
0232デフォルトの名無しさん2007/09/22(土) 01:56:07
今はWindows SDKに改称されたみたいだけど、アホみたいにサイズがでかいんだよな
ダイアルアップの俺には厳しいぜ
その点、MinGWは必要な部分だけダウンロードできるからうまー
0233デフォルトの名無しさん2007/09/22(土) 02:06:41
人んち、学校、ネカフェ……。
どこか高速回線のところで落としてDVDに焼けばうまー。
0234デフォルトの名無しさん2007/09/22(土) 02:11:08
Windows SDKはどれを使うべきなんだろう?どれ選んだらいいかわからんす
VCでも起きるんだけど dxguid と strmbase/strmiids を一緒にリンクすると衝突するよね。
新しいWindows SDKの strmbase/strmiids では直っているのかな。
0235デフォルトの名無しさん2007/09/22(土) 02:17:41
まあCOMベースなのでこのためにわざわざ替える必要もないか。。
0236デフォルトの名無しさん2007/09/22(土) 10:38:44
まあドトネトイラネな人にとっては、Platform SDKで良かったのにって話だわな
Windows SDKに統合されたおかげでドトネト部分のドキュメントも
英語オンリになっちまったし
0237デフォルトの名無しさん2007/09/22(土) 13:49:46
>>236
Windows SDK日本語版なら、
.NET Framework部分は日本語だぞ。
0238デフォルトの名無しさん2007/09/22(土) 20:21:41
>>232
友達いないのか
大変だな
0239デフォルトの名無しさん2007/09/22(土) 20:51:03
こんな過疎スレに来てまで罵倒する相手探しとは
よほど暇なんですね
0240デフォルトの名無しさん2007/10/03(水) 11:45:02
すいません、MINGW+Msysでコンパイルしたコマンドラインプログラムを
コマンドプロンプトから実行しようとすると、
"KKCFUNCを組み込みました" というメッセージがでて端末が
フリーズしたようになってしまうんですが、これを回避する方法はありますか?

mingw5.1.3, msys1.0.10 on WindowsXP sp2 です

ちなみにlibcurlを作るためにビルドしたcurlコマンドも同様になります。
opensslコマンドはちゃんと動いているように見えるけど、
これはlinux上でクロスコンパイルしたものです。
0241デフォルトの名無しさん2007/10/03(水) 12:39:44
>>240
うちではなりません。
0242デフォルトの名無しさん2007/10/03(水) 13:14:45
>>241
ありがとう。
いまリンカオプションが臭いような気がしてopensslのMakefileを眺めてる
なんかわかったら報告する。しなかったら挫折したということで。
0243デフォルトの名無しさん2007/10/03(水) 13:35:32
kkcfuncっていえば16bitアプリになってるような気がするね
いや、よくわからんですけど
0244デフォルトの名無しさん2007/10/04(木) 08:24:33
kkcfuncが原因じゃないと思う
とりあえず必要最小限の再現可能ソースを晒せ
02452402007/10/04(木) 15:58:57
とりあえず報告
問題はlibcurl.dllにあったみたい。
こいつがどうも変なライブラリにリンクしてて、
それが16bit?な環境に依存してるのでKKCFUNCが起動された...と思う。
Windowsは正直良くわからない。

CURLの本家が配布してる2000/XP用のlibcurlバイナリに差し替えたら直った。
なんでCURLがそんな変なライブラリに依存してたかは時間があれば調べてみる
時間がかかったのは、単純に問題のlibcurlにリンクして初期化するだけの
プログラムでは問題が起きなかったから。でもこれは勘違いかも。

autotools使ってるunixソフトの移植なんて簡単さ、と思ってたら
結構いろんなとこでハマって困った。
つか、windowsのリンクってなんか変。
0246デフォルトの名無しさん2007/10/08(月) 04:22:25
漏れもkkcふんcを組み込みましたというえらーにであたことあります
拡張子がcomの実行ファイルがjっじこうされたことがっげえいんだったとおもいます
たぶんpythonかrubyだったとおもいます それをけしてふつうのEXEがじこうしたらふつうになりました
0247デフォルトの名無しさん2007/10/09(火) 04:10:09
Cygwinで
setlocale(LC_ALL,"Japanese_Japan.932");
が動いた記念カキコ。

-mno-cygwin -finput-charset=cp932 -fexec-charset=cp932

これでCロケール使わせれば、Boost.Regex使えないかな・・・
0248デフォルトの名無しさん2007/10/09(火) 09:16:17
>>247
日本語 Windows では cp932 がデフォルトだから、それ、
setlocale() が動いたんじゃなくて無視されてるだけじゃないの?

どんなコードが「動いた」のか教えてほしい。
0249デフォルトの名無しさん2007/10/09(火) 09:23:36
>>247
それおもいっきりMSVC用のロケール文字列だな
-mno-sygwinしてて実はmingwでした
MSVCRTとリンクしてました

ってとこじゃねぇのか
0250デフォルトの名無しさん2007/10/09(火) 10:28:31
-mno-cygwin なんだから当然 cygwin.dll じゃなく MSVCRT だろ
0251デフォルトの名無しさん2007/10/09(火) 10:44:50
>>250
ああすまん、>>247で思いっきり-mno-cygwin指定してんだな
見逃してたw
02522472007/10/10(水) 21:52:09
cygwinで(Boost1.33.1)
Boost.Regex for ICU 使えたよ。
-finput-charset=cp932 -fexec-charset=cp932

(1)ICUをインストール
(罠:configure系スクリプトの改行コードを変更してインストール)
/usr/local にデフォルトでインストールされる。

(2)Boostをインストール
boost/regex/usr.hppの
#define BOOST_REGEX_MATCH_EXTRA
#define BOOST_HAS_ICU
のコメントアウトをはずしてからICUのパスを指定してインストール
./bjam -sICU_PATH=/usr/local --toolset=gcc install

(3)テストではまった点

・ICUはdllだがlibとほぼ同様にリンクできる。
・IDEはDevC++でやると少し楽かもしらん。
・ICUのUnicodeStringはgetTerminatedBuffer使わないとNULL文字がついてこない罠がある
・標準出力はwide->narrowに変換してから使う。
 (ただし、cygwinのCP932のsetlocaleは失敗するぽいのでロケール関数は使えなかった。緊急策としてMingwでsetlocale,mbstowcs,wcstombsをラップしたDLLを作成して対処した。>>247参照)
■ このスレッドは過去ログ倉庫に格納されています