Cygwin + MinGW + GCC 相談室 Part 5
1 :
デフォルトの名無しさん :
2010/03/24(水) 12:18:26
2 :
デフォルトの名無しさん :2010/03/24(水) 12:28:04
4 :
デフォルトの名無しさん :2010/03/24(水) 15:28:21
5 :
デフォルトの名無しさん :2010/03/24(水) 19:19:52
|┃ ∧____へ_
|┃ 〈:::::::::::::::::::::::::::::|
|┃ ∨ ̄ ̄ ̄フ::::/
|┃ /::/
|┃三 /::/ |\
|┃ /:::∠__/:::::|
|┃ 〈:::::::::::::::::::::::::::::|
ガラッ. |┃  ̄ ̄| ̄ ̄ ̄
|┃ ノ// ./ ̄ ̄ ̄ \
|┃三 / _ノ ::::::::ヽ、 \
|┃ / <●>::::::<●> \ こ、これは
>>1 乙じゃなくてエナジーボンボンなんだから
|┃ | //// (__人__) //// | 変な勘違いしないでお!
|┃三 \ ` ⌒´ /
|┃三 / ̄ ̄ ̄ ̄ ̄ ̄ ̄ \
>>6 Ideone.com なんてのもあるのか。
C++に限って言えば大差ない?
両方ともBoostそこそこ使えるってカンジダよね?
boost までは対応してないと思う… 外部ライブラリと通信関係は実行できないのは仕方ない
Google RE2 ビルド可能ですか?
もちろん
15 :
12 :2010/03/25(木) 10:27:55
*.aが出来たんですが、mingwでDLLにするにはどうしたらいいですか
16 :
12 :2010/03/25(木) 11:17:27
エクスポートする関数のdefファイル作らんとだめですか。 どれが必要なのかわからないときは片っ端にやるんですか
他環境でDLLとか.soを作ったことあるの? 基礎がわかってないと、エクスポートしてから動かなくなって ナニが悪いのかわからなくなるオカン。
>>14 C++に限って言えば大差ない?
っていう事では?
// source.cpp #include <h00.h> // 中身 #define m(a,b) m2(a,b) #define m2(a,b) m3(a,b) #define m3(a,b) a##b #include <h01.h> // 中身 #define b m("cat_","h01") ←コイツがエラー #define c m("cat_"|"surce") // これはOK mingwTDM4.4.1 CATマクロでの症状なんだけど これっておかしいよね?
20 :
12 :2010/03/25(木) 20:00:25
自動ではエクスポートされないな defか関数前にエクスポートの表示書くしかないか えらく面倒
ヘッダファイルからもれなく関数名抜き出すツール無いですか そしたらdef作れるんですが
オーバーロードしているので __declspec(dllexport)でないと駄目そう
DLLのGoogleRE2は需要ある ビルド求む
MSYSの派生ビルドとかないのかな?
>>23 cvs -d :pserver:
[email protected] :/cvs/pthreads-win32 checkout pthreads
hg clone
https://re2.googlecode.com/hg re2
cd pthreads && make clean GC && cd ..
cd re2 && gunzip -c < ../re2_hg_20100326.diff.gz | patch -p1 && make && cd ..
↓をuudecodeね。
begin-base64 0 re2_hg_20100326.diff.gz
H4sIAAAAAAAAC+1WbW/bNhDu1+hXXLC0sCtTb47lWokBZ27SBUi7Iu6wfigQ
UBJtq5FJg6TWeEP++460ktixkxVFsRVY7oNEHnl3D5+7oyRZdDGdXERBGATt
KPbyYjx+9p0FXcdxDM8CK3dvWEo7DvchDNudqBu0O+0IcLLf6cL3hrFdKqWp
REhSCP3vRPyhxOQbiIR4TDv7vTRtpyyHt/SSjYuSOYQQoP7NdOdEFrgmIexB
FCadOMHEmcoBEnSDwHFdF9LN3VEMQZB0OkkQL3e7QQ93DwZAolYXXPMYDBz4
CX5TDMQY9LRQoEQlMwaZyBngdCL+YJIjtnQBFH4evSZKLxAhWpVFxjha6inV
kFEOKYOxqHgOBUclg7PT4fG70TEYVJ4DDqFlmYBIP/tlkUoWedRxN1Srk7ws
0QxDaQFpVZQ50AktuNLwfniOfoUEzZQu+ARwmDKeTWdUXuK8ZawqnonZjHFt
0XB2hYMvAnFzpiwNYbcVg4vPV5aIo/OTs6M3o75UmQPv3vb5zLyWOjJ33OHH
j3bi9oGcep4/11PJaK4c9+z1zcKK2pyiHr8ZmsPiUX45OT07HvU/ObBT6aL0
qWScetNPSzjhK4snClo9C2hnMLvMCwlkbljB+V7j6LwJ5mnjNdeZ22v8at03
MZK7TmOysujuTLIMiJpi8ByIuMf43U4c1QdrAimVzjMsNPJ72SJEVJoUszla
tdatTU4d69Fkxn++Jbk48uu0+c89gVE+HI8+3MQ0Oyw1Zosn7pNg1ZaJ4bBp
wO8NNpzuvfwnr+ugSFmnafXAZmiqrOlsbVUTT2mJ4eYFy5g3rXt2Q/91zfuw
2SNdjLc1Vq5rXrGtF4CR9fHe+ABVpeiyoYo/2YVezBnMhWrB3ZRDHzjqmtjs
2FMHDlwfmC69BvB94HTG1JyiH8TmEAdSIUoQcyapFrLfb1gjs5gkK1FfwFUL
HlpaNE0AvB5MC6473P1Gh/BX3cmhbZ24V/cy4G5dSQ67jSs4XEa+Nn2x7XRY
sajDq0h8WWPQXDsMSjGZsNwBvD/wKgTsgyQRyCyjsxe3+A8PG/cWHkZtU2yp
2Fpatk5XiyHL6uLasvJ15fWY4WMFZr8T4c2H4pZTUZNJttfE9uxtJs615paf
b/aBoAq84EtmqvnKM9XdMNSiegwNo97tw6LW1wa35xjTUrED57/+F3iSJ3mS
/5f8DfpBoAoADgAA
====
サンクス できたら報告しますね
>>25 駄目だったよ。
自分がやったのと同じサイズの同じエクスポートのDLLが作られた。
必要な関数がエクスポートされていないんです。
これが動けばいいんですが #include <iostream> #include "re2/re2.h" #pragma comment(lib, "libre2.lib") using namespace std; int main(){ int number; RE2::FullMatch("abc", "[a-z]+(\\d+)?", &number); }
サンクス libの競合が起こったけど何とかやってみます。あと無いエクスポートが一つ出たけど 前よりかは良くなりました。原因解明していきます、
STL使わないでC言語のみならコンパイルと実行は出来たけど
肝心の正規表現が動いてない。
だれか
>>30 動作したひといますか。
mingwのDLLはvc++で読めるはずなんですが。
char c, f; f=RE2::FullMatch("redcap 100", ".*([0-9]*)", &c); printf("%d\n",f); ここで0になっとる printf("%d\n",c);
35 :
34 :2010/03/26(金) 23:53:44
関数のエクスポートは出来てるけど、return 0(失敗)なんだ。 これは引数、呼び出し方の問題なのか。
36 :
34 :2010/03/27(土) 08:31:54
ふたたびやったけど、コンパイルは通るが実行できない。リターン0。 #include <stdio.h> #include "re2/re2.h" #pragma comment(lib, "libre2.lib") int main(){ int f; char ch[100]; f=RE2::FullMatch("redcap 100", "(.*)", ch); printf("%d\n",f); printf("%s\n", ch); }
>>36 流れ読まずにレス
たしかmingwで使うmsvcランタイムとVCで使うランタイムが違う関係で
returnでは値がうまく返せなかったと思う。
グローバル変数をエクスポートしてその変数使って値を返すとかしないと
無理かも。
39 :
デフォルトの名無しさん :2010/03/28(日) 03:38:36
40 :
デフォルトの名無しさん :2010/03/28(日) 12:21:27
>>42 sysconf()は主にUNIX用の関数。
MinGWはUNIXじゃない。
44 :
デフォルトの名無しさん :2010/03/29(月) 13:18:00
>>44 まて、3つ目はwith gcc 4.2.5ってかいてあるけど?
>>47 gccのバージョンは4.2.5だけど、何故か更新頻度が高い
作者はバージョン4.2.5にこだわりを持ってるようだ。
ver 4.2.5ってそんなに良い版だったのか。 区別つかねぇや
またおまえか
51 :
34 :2010/03/30(火) 00:23:39
Google Re2は動いたんですか? windowsのDLLで。
52 :
デフォルトの名無しさん :2010/03/30(火) 10:19:00
53 :
デフォルトの名無しさん :2010/03/30(火) 10:36:17
>>52 自己レス
4.4.4 … mingw-w32-1.0-bin_i686-mingw_20100329.zip
4.5.0 … mingw-w32-bin_i686-mingw_20100329.zip
だった。
バージョンごとに別々に開発って意味わからない・・・・・
昨日MinGWをダウンロードしたんですが、 今時日本語表示不可でしたよ・・・ 日本人は使うなってことでしょうね(-_-;)
>>55 FAQ。過去スレ検索すれば沢山出てくる。日本語表示はもちろん可能。
>>55 -finput-charset=cp932 -fexec-charset=cp932
EUCに変換してからコンパイルする
iconvがリンクされてないと使えないのでリンクされているバイナリを探せ
>>57 そのオプションつけるんならEUCじゃなくてSJIS。
本家はそのオプション使えない。TDMは大丈夫。他は知らん。
別の方法としてはUTF-8で書けばOK。
>>58 知ってるって
cp932ってSJISの事じゃん
だって
>>57 に「EUCに変換してからコンパイルする」って書いてあるじゃん。
コンパイルオプション付けずに日本語通す方法として書いたのなら説明不足だし(そのコンパイルオプションつけた上で
EUCにするというように読める),コンパイルオプションなしで日本語通せるのはEUCじゃなくてUTF-8だたら,
いずれにしろ間違ってるよ。
そうかEUCに変換するって書いてあったんだけどな UTF-8か
ちがうよ
実際にUTF-8でうまく行ってるんだが。
UTF-8 でうまくいくのは間違いないよ
ちがうよ
とみせかけて
美琴たんはカワイイ
チガウヨ
チラシの裏 MinGW使ったIDEのDev-C++、リソースファイルがうまく使えないようならwindres.exeの更新 binutilの中に入っているので、アップデートでbinutilを更新すればおk 長いこと放置してたけどやっと解決方法わかってすっきりした('∀`)
70 :
デフォルトの名無しさん :2010/04/08(木) 23:30:25
そろそろGCC4.6.0が出そうだな
いち早くc++0xを体験できるのはgccの強みだな
4.5がcurrentになってたのか
74 :
デフォルトの名無しさん :2010/04/09(金) 11:43:55
PGIコンパイラってどうなん?
mingwのchmodがwin7で動かないのですが 解決策ってあるでしょうか?
ありません
クロスビルドが流行りなんかね
>>78 そもそもC/C++を扱う上で
もしクロスビルドができなかったら
それ自体 移植性が無いという事であり…(ry
本来はネイティブで(コンパイラ本体が)ビルドできる方が効率がいいはず何だけどね
コンパイラ本体をビルドすることが効率性にどう繋がるっていうんだ?
windowsのコンソールが遅いって言いたいんだよ
クレクレ乞食のくせに効率いいもくそもねえよ
おれはクロスビルドしてるよ
そして、コンパイラ本体をwineで動かしてチェックしてる
mips用のgccが欲しかったらps2linux上でビルドするのが効率いいってか? バカじゃねーの
動作周波数が2GHz越えたマシンで地獄はみたくない
4.5.0はー?いつ来るの−? (・∀・ )っ/凵⌒☆チンチン
☆ チン TDM gcc 4.5.0 マチクタビレタ〜 マチクタビレタ〜 ☆ チン 〃 ∧_∧ ヽ___\(\・∀・) \_/ ⊂ ⊂_) / ̄ ̄ ̄ ̄ ̄ /| | ̄ ̄ ̄ ̄ ̄ ̄| | | 愛媛みかん |/
92 :
デフォルトの名無しさん :2010/04/17(土) 13:39:46
ld.exeがデッドロックにはまったのか 永遠に終わらない事態に陥った事ない?
あるよ テンプレートだったか何だったかで掘ってるメッセージが延々と
派生ビルドってどれがおすすめですかね mingwでDirectXって、やめたほうがいい?
96 :
デフォルトの名無しさん :2010/04/19(月) 18:23:47
本家にgcc 4.5.0-1があがってるね
>>95 > 派生ビルドってどれがおすすめですかね
TDM's GCC/mingw32 Builds
がお薦めだったが、最近は更新の音沙汰無いため
もう見限って
Komisar Mingw
にしたほうがいいのかもしれない。
> mingwでDirectXって、やめたほうがいい?
なぜそう思うのか理由がわからんから答えられない。
Komisar Mingwだって最近更新ないじゃん 更新フェチはw64でも使ってろよ
>>99 > Komisar Mingwだって最近更新ないじゃん
でも4.4.x系では最新になっているじゃん。
TDMは4.4.x系なのに中途半端なバージョンじゃん。
> 更新フェチはw64でも使ってろよ
何いってんのさ。俺は別に4.5.x系が欲しいわけじゃないし。
qp-gccがいいんじゃない? TDMのパッチとかもやってあるらしい。
派生ビルドの中で、libiconvがちゃんとリンクされてないのはある? 事情があってソースコードをShift_JISで書きたいので、-finput-charset と -fexec-charset が効かないと都合が悪いんだ。 TDMが大丈夫で本家がダメなのはわかってるんだけど。
一度セルフビルドしてやればどれでもOK
3時間以上お待ちくださいって、言ってほしい
昔と違って大体は素直にビルドできるんだが、とにかく時間がすごくかかるのはなんとかならんものなのか。
ffmpegをビルドしたいのですが、DEPに引っかかって落ちてしまうバイナリが出来上がってしまいます… 検索してみたところ、他にも事例があるようなのですが、 これってmingw公式版だけの症状なんでしょうか? 派生版もいくつかあるようですが、結局何を用いてビルドすればよいのかサッパリで…
>ffmpeg が DEP に引っかかって強制終了する件ですが、とりあえず pthread を shared にしたら改善されることを (少なくとも自環境では) 確認しました。
110 :
デフォルトの名無しさん :2010/04/26(月) 11:19:43
ですね
そこでクロスビルドですよ。 ビルドホストを隣のLinuxにしたり、VMゲストのLinuxにしたり Msys Mingw にしたり…あれ?
マジレスしてやるがクロスでの configure は困難だろ!
クロスでの configureの方が全然早い win32用のバイナリ作るまでの手順がめんどいけど、 おつりがくるくらいの速度
>>114 はGCCをビルドするとき
コンパイルの速度も全然違う
rpmとか使えるから、パッケージ管理も楽
116 :
デフォルトの名無しさん :2010/04/26(月) 21:44:44
ググってみたんですが見つからない為、 コチラで聞かせてください。 cygwin上で「a」のキーだけが入力できなくなってしまったのですが、 どなたか原因が分かったりしませんでしょうか? ちなみに他のキーは入力出来ますし、webブラウザ上などでは普通に入力できます。 ご教授頂けると幸いです。
なんのきっかけもなく突然そうなることはないから お前が何かしたんだろ
GCCの挙動を知るためにわざとgccではなくcc1を呼び出してみたんですが なぜかCファイルをパイプを使うか、リダイレクトで送るかで cc1がwarningを返す場合があるのはなぜでしょう? また "*** is shorter than expected" はどういう意味の警告文なんでしょうか --- C:\MinGW\libexec\gcc\mingw32\3.4.5>type foo.c main(){ return 0; } C:\MinGW\libexec\gcc\mingw32\3.4.5>type foo.c | cc1.exe main Execution times (seconds) parser : 0.02 (17%) usr TOTAL : 0.09 C:\MinGW\libexec\gcc\mingw32\3.4.5>cc1.exe < foo.c cc1.exe: warning: is shorter than expected main Execution times (seconds) TOTAL : 0.03 C:\MinGW\libexec\gcc\mingw32\3.4.5> ---
bugかな。メッセージも変だし。 パイプ使ってねということなんでしょう。
msvcのほうだと問題な指そう
>>108 後の報告見れば分かるけど、結局それでは解決してない。
pthread用のread関数に置き換えるようにするとか
gcc4.5.0を4.5.0でbootstrapビルドすると動かんxgccがでけて、途中で止まるがな
>>119 サンクス。ちなみにubuntuのcc1(3.4.6)では両者問題なく動いた
cmd.exeのリダイレクトはlinuxのと挙動が違うのかのう…
makeのソース見てみれ。リダイレクトのコードがどうなってるのかわかるよ
msysでgcc-4.5.0のbootstrapやってみた クアッドコアでcとc++のビルドでやっと3時間切るぐらい
gccのビルドやった事ないが Linuxカーネルのビルドより時間かかるのか…
linux上でのビルドはそれほどかからないけど、msys上でやると configureがもの凄く遅いからね。 一部ファイアーウォールソフトのプロセス監視と相性が悪くて プロセス監視してると驚異的に遅くなったりするよ。
130 :
デフォルトの名無しさん :2010/04/30(金) 16:57:35
質問です。 Cygwinにtpad093で書いたソースを入れたいんですが、どうしたらいいですか? 一応手順があるんですが、XP、VISTAバージョンで7では具合が悪いよう な手順なんです。 コピペで挿入することはできないし、どうしたらいいですか?真剣に困ってます。 cygwinがダウンロードされても開いても出るはずのフォルダが出なくて。一応黒い 画面はでるんですけど・・・ どうゆうことをしたらtpadで書いたソースをシグウィンでコンパイルして実行でき るのでしょうか?
まてまて、まずは深呼吸だ
132 :
デフォルトの名無しさん :2010/04/30(金) 17:32:41
>>131 頼みます。お願いします。一応アク禁くらってます。
どうしたらいいでしょう?
何故cygwinを使うか?
それはtestするためです。確実に動くかどうか。
でもわざわざcygwinに書き込んでたら時間がかかります。
よってcygwinにぱっとtpadと同じ形式で同じ改行で移すには
どうしたらいいでしょう?そのための手順を教えてください。
初心者ならVisual Studio Express Editionでも使っとけばいいじゃん。
>>132 あまりTeraPad(tpad)は使ったことがないけど…
エディタ部分にソースコードを書き込んだら、メニューバーの
[ファイル]→[文字/改行コード指定保存]を選択して
改行コードを[LF]にして保存すれば良いんじゃないかな。
文字コードはShift_JISで通ると思う。
>>132 まさかとは思うが、cygwinのドライブは通常のドライブ上が便宜上違うパスで見えていることに気付いてないのか?
ちゃんとインストーラでどこに配置するか確認されるだろうに。
で、設定を変更していなければ、次のようになる。
--
MS-Windows cygwin
c:\cygwin /
c:\cygwin\tmp /tmp
c:\ /cygdrive/c/
c:\Program files /cygdrive/c/Program files
--
これで判らなければcygwin使うのやめた方がいいよ。
cygwinがTeraPadと同じ手順で使えると勘違いしてる
137 :
デフォルトの名無しさん :2010/04/30(金) 19:16:28
>>134 >>135 いってる意味が全くわからないんですが・・・
どこをいじればいいのでしょう?
cygwinの設定何てどこでやればいいのでしょうか?
ツールバーも出てこないし。
「パス」「ドライブ」「shift_JIS」なんのこっちゃw
知りたいのは真理より手順なんで・・・・
まだPCに触ったことがなかった大学1年です。
>>136 Padはただのワードの簡易バージョンですよね?わかります。
cygwinはテスト用のツールですよね。わかります。
cmd.exeとか知ってる?
>「パス」「ドライブ」「shift_JIS」なんのこっちゃw 駄目だこりゃ。cygwinとかC++より先にPCと日本語勉強したほうがいい。
140 :
デフォルトの名無しさん :2010/04/30(金) 19:22:47
いえ知りません^-^ ええっとですね。マウスも今年名前知ったレベルです。 ちなみに3日前からこのcygwinについて調べてるんですが 専門用語返答されてまいってしまいました。 留年確定ですね^-^ どうやればcygwin使えるようになるでしょか?^-^
141 :
デフォルトの名無しさん :2010/04/30(金) 19:47:03
2ちゃんに何か書き込むとき余計なことを書き込むと永遠の地獄ループに 苦しみ何の解決にも至らないことが良くわかった。 ハウツーを聞くだけで、別のところに食いつかれこんなに苦労するとは思わなかった。 明日先生に聞いてみます。
> 「パス」「ドライブ」「shift_JIS」なんのこっちゃw > 知りたいのは真理より手順なんで・・・・ いやいや、先生もびっくりですよww
単位取れなくても留年はしないだろう
> 知りたいのは真理より手順 どこの名言だよwwww
手順を書いたつもりが真理だったでござるの巻、か こりゃ先生も苦労するだろうなぁ
今年になってマウスを知ったヤツが なんでcygwinなんていじろうと思ったんだ? 「パス」「ドライブ」「shift_JIS」 これを禁止してコンパイラの環境構築をする方が無理だろう。
大学生の発言とも思えん。 釣りか、ゴールデンウィーク中の暇つぶしじゃね? じゃなきゃ、真性のアレだろうから、かまうだけ無駄。
・(
>>134 や
>>135 のように)丁寧に書いてくれた人に礼も言わない
・初心者といえば免罪符になると思っている
・やり方さえ分かれば用はない(しかし分からない)
・知ったかぶり
・分からないのは相手のせい
釣りでないならテンプレすぎて面白い
>>141 自分の思うようにことが運ばないからといって、捨て台詞を吐くようではいけませんね。猛省してください。
151 :
デフォルトの名無しさん :2010/04/30(金) 22:34:54
>>145 本当に意味がわからないんです。
例えば
>>134 >>135 の人みたいなのに何てレスしていいのかもわからん・・・
むしろそれを考えていたりする。疑問を残したままありがとうというのが
俺の一番悪いくせで責任転嫁の含みがあるのであまり感謝は好きじゃない。
2ちゃんなんだから俺と回答者の両側の意図が共通に認識できた蟠りのない
段階で身を引きたかった、何も残らずにすむから。
>>146 述べよう。今年から情報科学系の学部に入った。よってプログラミングは必須。
あまりにも設定の仕方というのはバリエーションがあるため仕様書みたいなの
に従って作業を進める、そのいちいちに意味を求めていたら時間がかかって仕方ない。
よって作業というのは一様でなければならず、その歯車が狂うとどこで修正していい
のわからない。しかし中身である課題(プログラミング)については疑問は一切ない。
cygwinでのgccの使い方の説明はなかったんかいな?
>>134 >>135 あたりはまさにハウツーだろ。
ハウツーが理解できないというのは意味云々以前に基礎的な知識が足りてないということ。
例えば「微分方程式スレ」があったとして
「導関数って何かわかりません、でも解法教えてください!」
な人が来ても教えようがないだろ。
154 :
デフォルトの名無しさん :2010/04/30(金) 22:57:41
>>153 確かにそうであるが・・・・・
何事も要領なわけであって・・・
>>152 cygwinについてはここからダウンロードしてくださいという
丁寧な指示から始まったんだ。でダウンロードし終わったあとなんです。
やり方通りにやったのに色々パスエラーがでるわで最大のつまづきがここです。
↓↓↓
「デスクトップ上のアイコン cygwin をダブルクリックして実行 → cygwinウィンドゥが現れ,
続いてホームディレクトリ "C:\cygwin\home\(ユーザ名)" が作成される」
↑↑↑
これは初期設定なんだが、これが不可能なんだ。何も起こらない。
Javaのコンパイル環境構築しようと思ったんですが、インストーラーに用意されてる gcc-javaとSun公式で配布されてるJDKとではどのような違いがあるのでしょうか? 沖ソフトさんのページをはじめ、JDKインストールして環境構築する解説ページが多いようですが。
gcc-javaだとx86の実行ファイルがでける
>>154 cygwinのインストールに失敗してるような?
cygwinのインストールに失敗する人がいるとは思わなかったよ
>>123 cloog-ppl サポートを有効にしてる & ホストコンパイラが 4.5 だとデフォルトで c++ の
共有ランタイムにリンクされて実行できないバイナリができている可能性がある。
auto-import の warning が出てたら多分これ。config/mh-mingw の BOOT_LDFLAGS と
LDFLAGS に -Wl,--enable-auto-import を加えるか、--with-host-libstdcxx で static
archive を明示的に指定してみたらいいんじゃないかと。
>>127 同じくホストコンパイラに 4.5 を使って、gcc の依存ライブラリ (gmp/mpfr/mpc/ppl/cloog-ppl) から
自前ビルドする場合、これらのコンパイル時に -fexcess-precision=fast にしないと、動作がとても
遅いバイナリになった。詳細は本家 Changes の IA-32/x86-64 のとこに書いてある。
http://gcc.gnu.org/gcc-4.5/changes.html もしこれに該当している場合はここを改善すれば大分早くなるような気がする。
自分のとこでは CとC++のみ、2コア、make -j2 bootstrap で大体1時間弱くらいで終わる。
両方ともまったく違う原因でトラブってるようだったらすまん。
159 :
デフォルトの名無しさん :2010/04/30(金) 23:52:02
>>157 手順通りにやったのに失敗したのかなぁ?
一応そのサイト一nだけど乗せましょうか?
誰かその手順通りやってくれませんか?
>>158 動かんxgccの件は
STAGE1_CFLAGS = -g -fkeep-inline-functions
の-fkeep-inline-functionsを-O2に書き換えることで解決してます。
(原因はppl/cloog-pplをいれてるからかも)
-fexcess-precision=fast の情報、あんがと
mingwのバイナリをlinux上でクロスビルドしてるときは遅いとは思わないんだけど
162 :
デフォルトの名無しさん :2010/05/01(土) 00:30:21
ユーザー名に漢字使ってハマってた人はいたみたいだけど
164 :
162 :2010/05/01(土) 01:51:18
>>162 http://www.comm.info.eng.osaka-cu.ac.jp/~sugi/C_lang2/setup/ を、以下の環境で試してみたよ。
- VMware Workstation 7.0.1 で作った仮想PC (メモリ 512MB)
- OS: Windows XP Professional SP3
- その他のソフト: Microsoft Updateの「高速」のすべてのパッチを適用し、
Microsoft Security Essentials をインストールした。
- Windowsのユーザ名は「testuser」
(質問するときは、↑くらいのことは最低限書いたほうがよいよ)
1. Cygwinのインストール完了後に、デスクトップ上の「Cygwin」ショートカットを
クリックすると、次の文字が表示された。問題なし。
------------------------------------
Copying skeleton files.
These files are for the user to personalise
their cygwin experience.
These will never be overwritten.
`./.bashrc' -> `/home/testuser//.bashrc'
`./.bash_profile' -> `/home/testuser//.bash_profile'
`./.inputrc' -> `/home/testuser//.inputrc'
testuser@xp-vm1 ~
------------------------------------
165 :
162 :2010/05/01(土) 01:52:23
>>162 2. 「cygcheck -c」でCygwinのパッケージが正常にインストールされたかどうか確認した。問題なし。
------------------------------------
testuser@xp-vm1 ~
$ cygcheck -c | grep -v OK
Cygwin Package Information
Package Version Status
------------------------------------
3.「cygcheck -cd」と「uname -a」でCygwinのバージョンを確認した。
現時点のCygwinの最新版は 1.7.5-1 だから、
今回の件が解決したあと、別件でCygwin質問をしたいなら、
使っているバージョンや、
http://www.comm.info.eng.osaka-cu.ac.jp/~sugi/C_lang2/setup/ で
インストールしたことを毎回きちんと述べること。
じゃないと、みんな Cygwin 1.7系、あるいは1.5系の最終版 1.5.25-15 を使っていることを
仮定して回答するだろうから、行き違いが生じるよ。
------------------------------------
testuser@xp-vm1 ~
$ cygcheck -cd cygwin
Cygwin Package Information
Package Version
cygwin 1.5.25-11
testuser@xp-vm1 ~
$ uname -a
CYGWIN_NT-5.1 xp-vm1 1.5.25(0.156/4/2) 2008-03-05 19:27 i686 Cygwin
-------------------------------------------
166 :
160 :2010/05/01(土) 02:03:43
167 :
160 :2010/05/01(土) 02:16:24
ついでに、日本語のアカウント名でも試してみた。
以下のダメ文字一覧表の文字を使って、「曽綻転脳評望余」って
ユーザ名のアカウントを作って、同様に試してみた。
ダメ文字一覧表 (fudist)
http://sites.google.com/site/fudist/Home/grep/sjis-damemoji-jp/table 1'. Cygwinのインストール完了後に、デスクトップ上の「Cygwin」ショートカットを
クリックすると、次の文字が表示された。
------------------------------------
Copying skeleton files.
These files are for the user to personalise
their cygwin experience.
These will never be overwritten.
`./.bashrc' -> `/home/曽綻転脳評望余//.bashrc'
`./.bash_profile' -> `/home/曽綻転脳評望余//.bash_profile'
`./.inputrc' -> `/home/曽綻転脳評望余//.inputrc'
曽綻転脳評望余@xp-vm1 ~
------------------------------------
特に問題が無いようだ。
あとは、そちらで使っているOS固有の問題があるかも知れないし、
アカウントのユーザ名やアカウントが持つ権限が足りないかも知れない。
でもOSを明示せず、さらに、最初の数回の発言で、
「どんなOSを使ってる?」という質問をここの住人から引き出せないまま
言い訳を書くことに終始したあなたの責任だと思う。
よって、酷だろうが、自分はこれ以上は追試しないよ。
168 :
デフォルトの名無しさん :2010/05/01(土) 02:25:08
>>164 >>165 ありがとうございます。もっかいやってみますが、初期設定がどうしても
できないんです。これってしなくてもいいんですか?
あっwもちろん杉山先生のそのサイトの初期設定ね。
でもなぁ・・何か俺のPC本当おかしいんですよ。タイピングしてたら急にお気に入りが
開いたり、今回もダウンロードしたのに失敗した恐れがありますとか出てくるし。
これじゃぁプログラミングに行く前に頓挫しそうだ・・・
プログラミングの勉強をする前に、PCの初歩的な操作方法と 日本語を勉強したほうがいいかもな
あと、釣り針の仕込み方と釣り堀の選び方もな!
172 :
デフォルトの名無しさん :2010/05/01(土) 15:00:45
でネット上の説明が難解で専門的だから こういうところで質問してると思うんですけどねぇ・・・ ワードみたいにこのアイコンをクリックとかそんな単純もん じゃないし。躓いて質問しても、環境変数がとか〜設定がとか 難しいですよね結構。
気に入らないなら他の手段使えばいいんだし、 cygwinみたいな地雷はそうそうないと思うけどな linux板いくと地雷踏みすぎたか気の狂った物乞いばかりで怖いぜ
<わからない11大理由> 1.読まない …現行スレ、テンプレ、取説などを読まない。読む気などさらさらない。 2.調べない …過去スレ、ググるなど最低限の内容も自分で調べようとしない。 3.試さない …めんどくさいなどの理由で実行しない。する気もない。 4.覚えない …人から聞いて、楽して得た答えは身に付かないから、すぐに忘れる。 5.説明できない …何に困っているのか、第三者に正確に伝わる文章が書けない。 6.理解力が足りない …理解力以前の問題で理解しようとしない。 7.人を利用することしか頭にない …甘え根性でその場を乗り切ろうとする。 8.感謝しない …教えてもらって当たり前。事がすんだらさようなら。 9.逆切れする …自分の思うようにならないと逆切れする。 10.開き直る …自分の思うようにならないと開き直る。 11.2ちゃんねるをお客様相談室だと思っている。
175 :
デフォルトの名無しさん :2010/05/01(土) 20:14:29
>>175 >7.人を利用することしか頭にない …甘え根性でその場を乗り切ろうとする。
自分でコンパイルしろよ
libiconvが入ってない
179 :
155 :2010/05/01(土) 21:49:15
>>156 おっしゃってる意味がよくわからないのですが、JDKでコンパイルするとJavaVM上で動く
普通の中間コードが生成されて、gcc-javaでコンパイルするとx86向けのネイティブコードが
生成されるという意味でしょうか?
と悩んではみたものの、教本に使われているサンプルソースがJDKじゃないとコンパイルできませんでした。
教本も(非Cygwin環境下での)JDKを前提に解説しているので、勉強自体はこっちで進めます。
さいなら
教員に聞けよ
そんなことは駄目 つ7.人を利用することしか頭にない …甘え根性でその場を乗り切ろうとする。
gcc-javaをなんで使おうと思ったの?
CygwinやMinGWをなんで使おうと思ったの?
そこにcygwinとmingwがあったから
感動した
VC++(のリンカ)の /merge:.rdata=.text と同じことをMinGWで実現するにはどうすればいいか、ご存知の方おりませんか? GCCはデフォルトで.rdataに文字を置くのですが、これを生成の段階で.textに変えたり、リンクの段階でマージするなどの方法を探しています
i386pe.xとかを編集して使いなされ
>>187 7.人を利用することしか頭にない …甘え根性でその場を乗り切ろうとする。
11.2ちゃんねるをお客様相談室だと思っている。
できました。ありがとうございます ldscripts/i386pep.x を書き換えて gcc -Wl,--script=i386pep.xs のようにスクリプトを読ませたらリンクの段階でマージできました --- i386pep.x +++ i386pep.xs @@ -27,2 +27,4 @@ *(.gcc_except_table) + *(.rdata) + *(SORT(.rdata$*)) } @@ -45,4 +47,2 @@ { - *(.rdata) - *(SORT(.rdata$*)) ___RUNTIME_PSEUDO_RELOC_LIST__ = .;
コンパイル時でよけりゃ__attribute__ ((section (".text")))でいいんじゃね
__attribute__だと全変数に指定要るしなにより文字列リテラルに指定できないぜ
objcopyだな
194 :
デフォルトの名無しさん :2010/05/07(金) 13:18:24
komisarから新しいのが久々にでてる。
GCC version 4.4.4
cross-mingw.gcc444.generic.20100506.7z (16M)
cross-mingw.gcc444.core2.20100506.7z (16M)
http://komisar.gin.by/mingw/
TDMは何をしているんだ・・・。
TDMはオナニーをしています
>>194 ちなみに64bitはLTOがWin32でサポートされてから考えるってさ
Link-time optimization
>>199 おおお、魅力的な響きですな。
ありがとうございます。
201 :
200 :2010/05/07(金) 18:02:38
恥ずかしいこと質問するんだが、笑うなよ 今、32bitXPを使っているんだけれども、これで64bitのバイナリを作成する にはどうするの? MingWの32bit版をつかって、オプション指定で作成するとか
203 :
デフォルトの名無しさん :2010/05/08(土) 14:19:22
LOL
一応は他のアーキテクチャにカテゴライズされるだろうから、 クロス環境用意すればいいんじゃないか? ライブラリもあるからコンパイルオプションだけじゃ無理だと思うよ。
まずはWin7 64bit買ってきなさい。
もちろんテスト環境があるに越したことは無いが 開発環境まで64bitにする必要は無いよ
208 :
デフォルトの名無しさん :2010/05/11(火) 13:28:52
209 :
デフォルトの名無しさん :2010/05/12(水) 08:25:28
いまさらで恥ずかしいんだけど教えてくれ MinGWのことなんて呼んでる? いままで「ミンジーダブリュー」って読んでたんだけど、 周りでは「ミング」とか「ミングダブリュー」とかが主流みたいなんだ
ミングー
211 :
デフォルトの名無しさん :2010/05/12(水) 09:03:25
>>210 サンクス
それ使わせてもらう。なんかピングーみたいでかわいいし
みんぐをぅ
みんgw
作者もそのつもりだろ
個人的にはミングーと呼んでる 人に言うときは・・・困る ミンジーダブリュとか適当に言ったり
俺はミングウィンだな WはWindowsだし、しーわいじーうぃんの呼び方とも調和する
217 :
デフォルトの名無しさん :2010/05/12(水) 20:35:57
みんぐぅに決まってるだろ
Mingwのctors処理って__mainでやってるんだっけ? dtors処理ってatexit()でやってるんだっけ?
MinGWは知らんが、デストラクタ呼び出しの規格はこうなってる ・ atexitに関数を登録するより前に初期化された静的オブジェクトのデストラクタは、 その関数を実行し終わるまでは呼ばれない ・ atexitに関数を登録した後に初期化された静的オブジェクトのデストラクタは、 その関数を実行するより前に必ず呼ばれる
>>218 じゃあatexitを呼ぶのは誰だ、ってな
exitだろう常考
>>220 なんだと。見ろよこれを
シーワージーウィン 約 366,000 件 (0.79 秒)
シグウィン 約 2,190 件 (0.26 秒)
"シーワイジーウィン" 3 件 (0.22 秒)
>>223 一番上の、シーワイジーウィンの間違いだよな。
""で囲ってやり直してみな。
もう少し痴的な会話をしろ
>>223 しぐにゃん 約 54,000 件 (0.20 秒)
あずにゃん!
さいうぃんって読んでました 今必死に矯正してます
開発元がCygnusだからねぇ。
青銅的にキグウィン
教えて君は調べずに聞くのでお前ら答えろ。 libcoldname.a が実際にどのように(ソース・定義ファイル・コマンドライン)生成されているか教えろ。 # ホントは1時間くらい調べて投げ出した
1時間くらいで調べた言い張る教えて君には答えぬ。
x libcoldname.a o libmcoldname.a moldname.def.in moldname-msvcrt.def
236 :
232 :2010/05/18(火) 12:26:05
>>234 thx. じつは今朝調べ直した。
俺が知りたかったのは、シンボル対応表の在処だったのだ。
なんのことはない、moldname-msvcrt.def にアンスコを足してインポートしてただけだったとは。
教えて君さいこー!
許さぬ。
mingw-w64ってvc用のlibと互換性なくなってる? ATI Stream V2.1のOpenCL.libをリンクするとき、mingw 32bitだと-lOpenCLで普通にリンクできるのに、 mingw-w64だとシンボル名を見つけてくれない。 当然、-Lで32bit用、64bit用のライブラリパスを切り替えているので64bitでコンパイル時に32bitのlibを突っ込んでるみたいなミスはしていないし。
239 :
238 :2010/05/23(日) 02:29:01
アセンブルコードを見てみた printfがmingw-w64では_printf, visual C++ (x86_64)だとprintfという名前で呼ばれている。 つーわけでvisual Cのオブジェクトとmingw-w64のオブジェクトは互換性ないじゃん。 ちなみに、visual C++ (x86), mingw32だと両方共_printfで互換性あり。 うーん、これじゃ使えないぞ、mingw-w64。
mingw-w64は不具合てんこ盛りで vcとリンクさせるためにリビルドが必要な面倒臭いコンパイラですから
241 :
デフォルトの名無しさん :2010/05/31(月) 10:55:43
242 :
デフォルトの名無しさん :2010/06/02(水) 19:18:56
ビルド済みboost入っているのはこの二つだな。
どっちが使える?
My MinGW distribution ("distro") currently contains GCC 4.5.0 and Boost 1.43.0.
mingw-6.1.exe (14.7 MB) : This is a self-extracting archive, not an installer. See How To Install below.
http://nuwen.net/mingw.html Logue Pack 20100415 QP's MinGW GCC 4.4.3ベース。
http://logue.be/MinGW.html
243 :
デフォルトの名無しさん :2010/06/02(水) 19:24:09
XP 32bit+MinGWの環境でfstat()を使ってラージファイルのサイズ取得が うまくいかないのですがどのように修正すればいいでしょうか? off_tが64bitになっているはずと思うのですがst.st_sizeのサイズが4バイトに なっているのが悪いと思うのですが。 gccは3.4.5 (mingw-vista special r3)でコンパイルは「gcc プログラム名」だけ で行っています。 #define _LARGEFILE_SOURCE 1 #define _FILE_OFFSET_BITS 64 #include <stdio.h> #include <sys/stat.h> int main(int argc, const char *argv[]) { struct stat st; FILE *fp; fp = fopen(argv[1], "rb"); if (fp == NULL) { printf("error\n"); exit(-1); } printf("fstat=%d\n", fstat(fileno(fp), &st)); printf("len=%I64d\n", (long long)st.st_size); printf("sizeof=%d\n", sizeof(st.st_size)); exit(0); }
245 :
デフォルトの名無しさん :2010/06/03(木) 14:55:08
winapiでラップするのが確実。アクセスはgccに合わせる
/* These require newer versions of msvcrt.dll (6.10 or higher). */ _fstat64
ありがとうございます。 構造体の宣言を struct _stati64 st; 取得を _fstat64() にして正しい値が取れるようになりました。
キタ━━━━━━(・∀・)━━━━━━!!!! キタ━━━━━━(゚∀゚)━━━━━━!!!! キタ━━━━━━(((゚∀゚)))━━━━━━!!!! キタ━━(━(━(-( ( (゚∀゚) ) )-)━)━) ━━ !!!!! キタ━━━━━━\(゚∀゚)/━━━━━━ !
なんだ、GCCか・・・MINGWと勘違いしてしまった。
251 :
デフォルトの名無しさん :2010/06/08(火) 19:56:17
MINGW
GCC4.5のはいってるTDM-minGWが欲しいの。
254 :
デフォルトの名無しさん :2010/06/10(木) 13:44:32
248
TDMのホームページ検索しても
>>248 が出るようになってるけど
リニューアルしたの?
もしかして
>>248 が正式版?
俺はオンデマンドインストールした その方がアンインストールも楽だしね
漏れはOFFラインPCだからバージョンアップを調べるボタンをオフにしてインストールするんだ。
258 :
デフォルトの名無しさん :2010/06/10(木) 14:17:37
色々あって分かり難いな。
mingw で作成したアプリケーションのエントリーポイントを WinMain にするには、どうすればいいのでしょうか?
-mwindows オプションかな。
Mingwて、どれ入れたらいいの
それを自分で判断できない程度に素人なのであれば公式の current を。
264 :
260 :2010/06/19(土) 10:18:29
質問を変えます。mingw でコンパイル・リンクしたコードを調べてみると、 GDI32/KERNEL32/USER32 のほかに, MSVCRT を呼び出しているようですが、 MSVCRT の呼び出しをやめるようにコンパイルすることはできるでしょうか? GENERIC に手を加える必要があることはわかりましたが、そうしてもなおかつ MSVCRT を呼び出してしまいます。
266 :
264 :2010/06/19(土) 12:23:35
>>265 VC に依存するコードはつくりたくない、と考えただけなんです。
>>266 msvcrt はもはや Windows の一部。
268 :
264 :2010/06/19(土) 12:30:43
あと、borland bcc32 では msvcrt をインポートしないようですね。
Win32APIだけで作ればいいのでは
Cの標準関数使うと msvcrt が必要になるんじゃないか?
271 :
264 :2010/06/19(土) 14:23:29
bcc32 だったら win32api だけで書けば、
>>266 は実現できるのですが、おなじソースを mingw でコンパイルすると、msvcrt をインポートするコードになるのです。
-Wl,-e,WinMain
でいいんじゃねえの
>>268 自前のランタイムリンクしてんじゃん
crt2を書き換えるか、-mwindows
274 :
264 :2010/06/19(土) 14:53:23
>>272 スタティックリンクしているのは別に構わないのですが、環境に依存する dll を呼び出すのは避けたい、と。
bcc は自前のランタイムをインポートしていません。
kernel32とかは環境に依存してないDLLってか アホじゃねーの
mapファイル作るときにクロスリファレンス作らせて、 どこでmsvcrt関連を呼び出してるか調べるところからやったら
>>271 msvcrt 相当のライブラリを用意すればいい。
つまりは bcc はそうしてるってことだろう。
Mingw の場合はスタートアップルーチンも msvcrt に依存してるっぽいな。
MinGWとはつまり、コンパイラにGCCを使い、glibcの代わりにmsvcrtを使う開発環境だというのに その根本で有るmsvcrtを使わないと言うなら、MinGWを使うべきでない Win9x時代ならともかく、いまどきmsvcrtが使えない環境はない
279 :
264 :2010/06/19(土) 19:37:49
そうなんですね。特定のランタイムdll に依存していない処理系もあるので、ちょっとこだわってしまいました。 ご意見ありがとうございました。
280 :
232 :2010/06/20(日) 08:11:56
つーかMSVCRT.DLLはOSの一部なんだが むしろ最近のMSVCはそれを利用することはなかったりする。 逆に、最近目にすることができるWindows OSで MSVCRT.DLL を含んでない奴を教えて欲しいくらいだ。
すみません、すごいこと聞きますが MSVCRT.DLLのCRTってなんなんですか? あと、MinGWでwindowsのドライバの作成(WDKソースのコンピル)できますか
>>281 C ランタイム ライブラリ
間違ってもブラウン管のことではない。
MinGWで下記のソース(test1.c)をコンパイルし、 #include <stdio.h> int main(void) { int i; for (i=0 ; i<100000; i++) printf("a"); return 0; } a.exe > hoge.txt を実行します。 このとき gcc test1.c でコンパイルした実行ファイルは一瞬で実行できるのですが(体感0.1秒?)、 gcc -ansi test1.c でコンパイルした実行ファイルは8秒ほど時間がかかります。 ansiオプションは切りたくないのですが、実行ファイルが遅くなるのは嫌です。 何かいい方法はありませんか?
バファリングモードが変わるのか?
285 :
デフォルトの名無しさん :2010/06/22(火) 13:16:23
シグナルを受信するプログラムを作ったのですがうまくいきません 以下のプログラムに kill 3460 ALRM としても $ ./target.exe ZzzZzzZzzZzzZzzZzzZzzZzzZzz[1] 3460 terminated ./target.exe となってしまいます bool loop = true; void trap(int no) { std::cout << "tarp!!" << std::endl; loop = false; } int main(int ac, char** av) { struct sigaction sa = {0}; sa.sa_handler = trap; sa.sa_flags |= SA_RESTART; if(sigaction(SIGALRM, &sa, NULL) != 0) { std::cerr << "sigaction error" << std::endl; return 1; } for(;loop;) { std::cout << "Zzz" << std::flush; sleep(1); } std::cout << std::endl << "Shhhhhhhhhhhhhhhhhhhhhhhhhh" << std::endl; return 0; }
286 :
デフォルトの名無しさん :2010/06/22(火) 13:18:53
MS VC RT マイクロソフト visualC++ ランタイム
ソースがマイクロソフトに依存しなけばいいからMINGWつかうんだよな。
tarp!! に目が釘付け。
>>282 ,
>>286 おーーーーーっ、どうも
MS VisualC++ RunTime なんですか
290 :
デフォルトの名無しさん :2010/06/22(火) 23:40:49
教えないよ
これができないです operator errorがでます 無理ですか? matrix1*=matrix2
エスパー求む!
Visual C++ではD3DXMATRIXの掛け算ができたのに、 MinGWではoperator errorがでてできなっかったということです まあD3DXMatrixMultiplyを使えばいいだけですが
>>291 の調子でプログラムを書かれたらコンパイラも何していいかわからんわなw
>>291 演算子のオーバーロードが書かれたヘッダファイルを読み込んでないだけだろう
エスパー来た
298 :
デフォルトの名無しさん :2010/06/30(水) 11:55:31
動作するか確認したいので、4.5とboostの機能を使ったソフトウェアありますか。
はい
Komisar Mingwに--enable-ltoなMinGW上がってるね
--enable-ltoってなに?
>>301 Mingwの場合、MS VisualC++ RunTime の替りにltoライブラリを使えというconfig指定
ltoはlink time optimizationのこと。このライブラリを使うことで
MS VisualC++ RunTime よりはるかに最適化したコードが生成できる
mingw だと try catch に finally は書けないのでしょうか?
304 :
デフォルトの名無しさん :2010/07/02(金) 06:21:09
バグありでしょうか?
SEH実装はMSFTの特許らしいぞ。
mingw で libmysql.dll 使ってるひとはいますか?
307 :
デフォルトの名無しさん :2010/07/03(土) 16:34:39
MinGWでforeachを使うにはどうすればいいですか?
foreach を使えばいいと思うよ
ここのひとって難しい問題には答えられないんだよね
禿しく同意します
for_each のことか?
glibcで、システムコールを掛けるsysdeps/unix/sysv/linux/i386/sysdep.hで定義されているマクロ内の asm volatile ( LOADARGS_##nr "movl %1, %%eax\n\t" "call *%%gs:%P2\n\t" RESTOREARGS_##nr : "=a" (resultvar) : "i" (__NR_##name), "i" (offsetof (tcbhead_t, sysinfo)) ASMFMT_##nr(args) : "memory", "cc"); なるインラインアセンブラの%P2って何を意味するのでしょうか?(行末の\は省略しています)
314 :
デフォルトの名無しさん :2010/07/06(火) 12:34:09
初歩的な質問で申し訳ないのですが、MinGWにてDirectXを使用する場合、 GCCとG++のどちらでコンパイルすればよいのでしょうか。
すきにしろよ。
名前が違う。
名前が違うのか!すごい発見だな!
ねぇ、なんで名前が違うの?
そんなこと、子供は知らなくていいの!
MinGWでMFC使いたいの あなたのMinGW用MFCライブラリください
MFCのDLLってたいていのWindowsに入ってるような
ふーん
>>322 マジレスするがMingw(G++)とMSVCのC++ ABIがまるっきり違うので流用困難。
ABIがまるっきり違うのか!すごい発見だな!
ねぇ、なんでABIがまるっきり違うの?
ネタレスはネタと分かるように書け
そんなこと、子供は知らなくていいの!
Mingw(G++)とMSVCのC++ 何が違うんですか?
いろいろ違う
>>329 吉野家の牛丼と、松屋の牛丼の違い。 に近い。
松屋は牛飯なんだよ
吉野家の牛丼と、サンボの牛丼の違い。 だな
最近吉野家の牛丼はタマネギが減ったねえ・・・ 味付けが濃くなったせいで牛肉の風味を味わいにくくなったねえ・・・
売れなくて煮詰まってるだけでないの?
店とか時間帯によって味の違いが無いようにマニュアルがあるんだぜ
吉野家のバイトもmingwを使う時代
TDM MinGWのサイトがリニューアルしてるw
339 :
デフォルトの名無しさん :2010/07/27(火) 20:57:48
いまさら気づいたやついたかwww
今更気づいたことに今更気づくとは お前も情弱の素質があるな
今更気づいたことに今更気づいたことに今更気づくとは お前も情弱の素質があるな
もう--enable-auto-import前提なのか?
mingwでglibコンパイルできた人いる? glib/gmessages.c:504: undefined reference to `_g_gnulib_vsnprinf' となってコンパイルしてくれない iconvとgettextはコンパイルできたんだけど
346 :
デフォルトの名無しさん :2010/08/13(金) 13:14:01
やべぇTDMのサイトがかっこよくなってる!
そのネタまだ飽きないの?
>>347 何がネタって?
って思ったら直前に出てたのか。
流れよんでなかた
http://sourceforge.jp/projects/mingw-jp/howto/install /' ! ━━┓┃┃
-‐'―ニ二二二二ニ>ヽ、 ┃ ━━━━━━━━
ァ /,,ィ=-;;,,, , ,,_ ト-、 ) ┃ ┃┃┃
' Y ー==j 〈,,二,゙ ! ) 。 ┛
ゝ. {、 - ,. ヾ "^ } } ゚ 。
) ,. ‘-,,' ≦ 三
ゞ, ∧ヾ ゝ'゚ ≦ 三 ゚。 ゚
'=-/ ヽ゚ 。≧ 三 ==-
/ |ヽ \-ァ, ≧=- 。
! \ イレ,、 >三 。゚ ・ ゚
| >≦`Vヾ ヾ ≧
〉 ,く 。゚ /。・イハ 、、 `ミ 。 ゚ 。 ・
プラグインが使える GCC 4.5.1(--enable-plugin) をビルドしたいんだけど、XPSP3(MINGW+MSYS) じゃビルドは無理なのかな? プラグイン無しならビルド出来たんだけど(´・ω・`) 素人がやろうとするのがそもそも間違いなのか・・・orz ちなみに以下はエラーの一部抜粋なんだけど Building GCC with plugin support requires a host that supports -fPIC, -shared, -ldl and -rdynamic. LDFLAGS に -fPIC -shared 設定してみたけど、configure 時にエラー発生・・・モウ ワカンナイ\(^o^)/オワタ
w32api-3.15 がリリースされた様だけど、中に gdiplus のヘッダーファイルが含まれていない・・・\(^o^)/
すまん、dev の方に入ってた・・・orz
TDM, nuwen.net, Komisar がいつの間にか更新してた
356 :
デフォルトの名無しさん :2010/09/06(月) 17:56:27
cygwinダウンロードしたらCドライブにかってにcygwinのフォルダができて た、homeもユーザーネームのフォルダも作られていたんでメモ帳でプログラム 作ってxx.cで保存してコンパイルしたけど bash command not foundとか出てきて実行できません・・・ なぜでしょうか?
馬鹿だから
358 :
デフォルトの名無しさん :2010/09/06(月) 19:15:24
359 :
デフォルトの名無しさん :2010/09/06(月) 19:35:06
>>358 >cygwinダウンロードしたらCドライブにかってにcygwinのフォルダができて
ガクガクブルブル、ウイルスに感染したぽ。しぬぽ
./command スラッシュドット臭い ネタ臭い
>>356 コンパイルするのに起動したコマンド入力の窓はなんでしょうか?cmd.exe だったら"パスがとおっていない"のでうまくいかないと思います。
エスパーレベル3のオレが、その能力を開放させてみると gccでoファイル作っただけとか?
ちげえよ gccが入ってないんだよ 規定でgccがインストール対象に選択されると思ってんだよ
ダウンロードしただけだから。
>>356 最近のCygwinはダウンロードするだけでインストールもせずに
勝手にフォルダ作られて、コンパイルまでできるように進化してるのか……
グレイトだぜ。
コンパイルできたなら実行ファイルのあるところをフルパス指定して実行すれば
きっとうごくに違いないぜ。いやそんなすごいCygwinだからきっと勝手に
実行されてるはずだぜ!!!
windows7 64bit で、fortranプログラムを64bit nativeでコンパイルしたい (2GB以上のメモリーを使いたい)んですが、どれをインストールすればいいんでしょうか?、
mingw-w64を
出さないでくれと
ぶっちゃけPortable Ubuntuの上でMinGWでも使った方がよっぽど楽だよね…
終わりか
XvidVideo.RU と Equation Solution で GCC 4.6 の公開してるんだけど、もうそこそこ使える?レベルになったのかな? 独自で build しようとしたら lex.c 部分で error 表示されてΩ\ζ°)チーン GCC 4.5.2 は build 出来るのに・・・同じ環境で何故・・・orz
教えてください。 GCCの最新版は4.5の最新版とか4.6の最新版とかが あるのはなぜですか? 詳しくおしえてください。
新機能を盛り込むとそのぶんだけ (その新機能の部分に) 新しいバグが入り込む可能性があるので、 新機能など要らないから既存の版のバグだけ潰したもの (いわゆる安定版) が欲しいという人もいる 互換性が失われることもあるので、それは困るから昔のやつが欲しい (ただしバグだけは潰して欲しい) という人もいる
4.6まであるということは一応4.5は完成したから 4.6をつくりだしたということですね。 そして今から上がっていく4.5のバージョンは バグがあったら直したものということですね。
>>374 それも一概には言えないんだけどな。
バグってのが仕様のバグなら非互換になってでも直さなきゃならないことも有り得る。
GCC ほどのものになればガイドラインは明文化されていると思うので、
それを探すのが間違いないよ。
もちろん、GCC以外のプロジェクトでは個別のポリシーで番号振ってる。
そのへんが充分にわかってないなら公式で current になっているのを使うのが最もトラブルが少ない。
currentじゃないだろ stable使えよ
gccでトラブルなんてほとんど経験したことないんだけど。 先進的な機能を使ってないからかな。
>>378 gcc-3.4くらいでやられた。
どうにもおかしいので-Sの結果読んだら、
計算式が一個消えてなくなっていた…
あと、ありがちな所で最適化するとICEとか。
まあよくあること 特に商用コンパイラでは
オープンソースとの違い
>>380 > あと、ありがちな所で最適化するとICEとか。
ICE?何の略?
Internal Compiler Errorだろ
>>384 ああああああああ
あるあるあるある。
ありがとう。
In Circuit Emulatorでコンパイラのバグを検証するのかと思った
私ゃ最適化するとInCircuitEmulatorがこけるとかって話かと思ったよ。
389 :
デフォルトの名無しさん :2010/09/30(木) 08:36:47
mingw32のコンパイラのバージョンは4.5.1だけどCygwinのバージョン は4.3.4です。GCCのオプションで gcc -O3 -ftree-vectorize を付けたとき、Cygwinのときはループの ベクトル化をしてくれますがmingw32のときは失敗してベクトル化 してくれません。どうすればいいですか。
mingwではなくcygwinを使えばいいだけでは
>ベクトル化してくれません。 どこみたら、してないのがわかるの?
392 :
デフォルトの名無しさん :2010/09/30(木) 11:00:05
C:\cygwin>gcc -march=core2 -msse2 -mtune=core2 -O3 -ftree-vectorize -ftree-vecto rizer-verbose=5 -o grs3 grs.grs.c: In function 'main': grs.c:590:7: warning: incompatible implicit declaration of built-in function 'me mcpy' grs.c:607: note: not vectorized: data ref analysis failed D.6415_427 = GF[D.6414 _426]; grs.c:592: note: not vectorized: data ref analysis failed D.6401_33 = FG[D.6400_ 32]; grs.c:552: note: vectorized 0 loops in function.c
?
某スレに貼ってたソースだと grs.c:600: note: LOOP VECTORIZED. grs.c:549: note: vectorized 2 loops in function. こうなったけど
395 :
デフォルトの名無しさん :2010/09/30(木) 11:15:53
失敗例 grs.c:552: note: vectorized 0 loops in function.c 成功例 grs.c:572: note: LOOP VECTORIZED. grs.c:552: note: vectorized 3 loops in function.
ソース貼れ 答えだけがほしいなら
397 :
デフォルトの名無しさん :2010/09/30(木) 11:23:39
書き方変えたのか知らんが、cygwinのgccでも失敗してるみたいだけど
399 :
デフォルトの名無しさん :2010/09/30(木) 11:35:53
$ gcc -O3 -ftree-vectorize -ftree-vectorizer-verbose=5 -o grs2 grs.c
400 :
デフォルトの名無しさん :2010/09/30(木) 11:37:21
$ gcc -O3 -ftree-vectorize -ftree-vectorizer-verbose=5 -msse2 -o grs2 grs.c
fedoraのgcc 4.4.4の結果 $ gcc -g -m32 -O3 -ftree-vectorize -mmmx -msse2 -ftree-vectorizer-verbose=5 grs.c grs.c: In function ‘main’: grs.c:590: 警告: incompatible implicit declaration of built-in function ‘memcpy’ grs.c:607: note: not vectorized: data ref analysis failed D.5842D.5842_365 = GF[D.5841D.5841_364]; grs.c:592: note: not vectorized: data ref analysis failed D.5827D.5827_41 = FG[D.5826D.5826_40]; grs.c:552: note: vectorized 0 loops in function. cygwinは4.3だからかもね
402 :
デフォルトの名無しさん :2010/09/30(木) 11:46:17
VisualStudioにはConfigure makeのビルド環境がないから4.3.4には 戻せそうにないし、どうすればベクトル生成に成功するのかがわからない。 WINで動けばいいのだが、Cygwin環境依存だとアプリにするのが難しい。
cygwinのテストパッケージでmingw64-{i686,x86_64}-gcc-4.5系のが無かったっけ? ちゃんとクロスビルドできるのかまでは知らんけど。
欲しいバージョンのgccのソースをダウンロードしてきてcygwin上で ./configure --target=mingw32 でビルドしてみたら
405 :
デフォルトの名無しさん :2010/09/30(木) 13:30:31
コンパイルが済んだものは普通にmake installすれば、mingw32で 動くようになりますか。何かパスを通す必要はありますか?
407 :
デフォルトの名無しさん :2010/09/30(木) 14:45:39
./configure --target=mingw32 オブジェクトファイルがコンパイルできないとかいって makeするときにビルドに失敗した。
o=FG[a[j]]; p=FG[b[j]]; a[j],b[j]で参照してるのをFG[j]で参照出来るようにすれば 少しはましになるかも
o=FG[a[j]]; p=FG[b[j]]; o+h1[p][i]-2 とか毎回計算してるけど、よく見たら、配列の固定値にできるんじゃないじゃろか?
なんか、固定値でxorとってるだけに思えてきた
固定値じゃなくて鍵ストリームでは? それは鍵やIVが変わると変わるので、鍵が固定なら固定値でもいいが、実用上そういうわけにはいかないだろう
412 :
デフォルトの名無しさん :2010/09/30(木) 17:52:47
どうコンパイルしてもコンパイラがエラーになってできません。 値は固定値というよりは256列の行列の中から16パターン選び出す種類を 固有の値として平文にXORしているという感じです。2^32では周期は出 ません。このままだとVisualStudioで作ったものとCygwinで作ったものと で動作環境に互換性のない暗号として配布しなければならないことになります。
413 :
デフォルトの名無しさん :2010/09/30(木) 18:02:52
libgccがないとかエラーが出ます。
互換性のない結果出してるところから、調べたら 何が原因なのかわかってるなら、いいんだけど
415 :
デフォルトの名無しさん :2010/09/30(木) 18:22:18
clでコンパイルすると普通にWindows環境で動きます。 しかし速度や性能でGCCの方が上なのでGCCでコンパイルしたものを WIN上で動かしたいのです。
>>415 cygwinでコンパイルしたものをDosPromptから動かしたらどうなる?
dllが見つからない旨のエラーメッセージが出るだけなら、そのdllにパスを通せば動くんでないかい?
>>415 出力が同じなら高速版と通常版の2種類あったって別にいいと思うけど
どのみちSSE載ってない古いCPUじゃ高速版は動かないんだろ、その人たちは見捨てる気か (まぁ別にそれでもいいと思うけど)
aとbにもスクランブルかけてるのね。 all0のデータとか突っ込まれたら、パターンがバレそうな気がするけど、気のせいかな
419 :
デフォルトの名無しさん :2010/09/30(木) 18:31:26
でも全員がCygwin使ってるなんて考えられないし、やっぱりWindows 互換のコンパイラで最適化したソフトを配布したいから・・・ ところで安全性の基本原理とか興味ありますか?
ありません ここそういうスレじゃないし
つーか、>416は無視ですか、そうですか。
422 :
デフォルトの名無しさん :2010/09/30(木) 18:42:22
無理矢理パスを通せば動きますけど、普通の人がそうするとは思えません。 とくにCygwinを知らない人は。
-mno-cygwin でコンパイルできますか?今(version 4) はできなかったかなあ。
libgccをスタティックリンクすれば、いいんじゃないの buffのmemcpyとか無駄なところを手で最適化したら
425 :
デフォルトの名無しさん :2010/09/30(木) 18:47:09
全部0の値が入っても、行列のどの列の組み合わせかがわからなければ 安全です。因みにどんな組み合わせでも鍵ストリームは0にはなりません。 (当然か)IVはわかってもいいのですが、秘密鍵でスクランブルを かけているので出力から鍵はわかりません。
-mno-cygwinはcygwinのgcc4からなくなったよ。 -mno-cygwinを使うなら、gcc3を使いなさいってことみたいよ
427 :
デフォルトの名無しさん :2010/09/30(木) 18:55:00
-mno-cygwin コンパイルは通りますけど、どんな意味があるんですか? ループのベクトル化がしたいのに。
428 :
デフォルトの名無しさん :2010/09/30(木) 18:58:15
そもそもCygwinでGCCのコンパイル出来るんでしょうか。
-mno-cygwin 簡単に言うとcygwin.dllに依存しない実行ファイルが出来るってだけ
cygwinとかmsys使えば、gccのコンパイルは出来るよ。 最近は、linuxとかでクロスビルドしてる人が増えてるみたいだけど
431 :
デフォルトの名無しさん :2010/09/30(木) 19:09:33
mingw32-gcc -O3 -ftree-vectorize -msse2 -o grs2 grs.c これを実行するとstdio.hがないとかエラーが出る。
432 :
デフォルトの名無しさん :2010/09/30(木) 19:13:01
-mno-cygwin 削除されたからMINGWを使えって出た。
434 :
デフォルトの名無しさん :2010/09/30(木) 19:15:56
msysってどこで手に入るの?
(´;ω;)バイナリ配布先書いてあるんだから少しはてんぷら読んでやれよ かわいそうだろ
436 :
デフォルトの名無しさん :2010/09/30(木) 19:43:36
インストーラのバグのせいでダウンロードできない
438 :
デフォルトの名無しさん :2010/09/30(木) 20:00:22
本体はどこでダウンロードできるの?
-O3を-O2にすると grs.c:595: note: LOOP VECTORIZED. grs.c:552: note: vectorized 2 loops in function. って、なるね。
440 :
デフォルトの名無しさん :2010/09/30(木) 20:04:07
本当だ!すごい!
ベクトル化出来たけどマルチポストの人でしょ。 部分的に人に教えてもらったようなSIMDが書いてあって、それより簡単なコードがSIMD化されてない。 ていうかみんな静的に用意された固定長の配列なのにアr(ry それに明らかに不要な計算が混じっていたりして、とてもやる気があるとは思えない。
そういうひとだったら、解決した時点でもういないんだろうね。
444 :
デフォルトの名無しさん :2010/09/30(木) 20:13:55
不要な計算ってどこのこと?
あ、まだいたのか。 整数演算なんだから、ビットマスクしようがしまいが結果の下位ビットは変わらないよね。
446 :
デフォルトの名無しさん :2010/09/30(木) 20:23:25
配列の添え字を計算するのにランダムな15以下の数を抽出します。 暗号鍵の配列はG[16][16][2]なのでky
447 :
デフォルトの名無しさん :2010/09/30(木) 20:25:30
下位4ビットの値を指定して暗号に使う列を決めます。データは128ビット の共用体なので型変換なしでいろいろなデータサイズで論理演算を施す 事ができます。いろいろ考えてるんです。
448 :
デフォルトの名無しさん :2010/09/30(木) 20:27:33
最適化はまだ完全じゃないと思います。これから直していくつもりです。 ビットマスクをとることで暗号文から15以下の数を計算してるのです。
馬鹿の考え休むに似たりって言葉もあってだな・・・
450 :
デフォルトの名無しさん :2010/09/30(木) 20:32:56
だったら新型を開発しろ
4ビット…だと マスクがいらないって言っているんじゃなくて、下位ビットは変わらないよねっていう話なんだが、4ビットとか言っている時点で最適化以前にそもそもテストしてねーんじゃねーのかって気がしてきた。 中間結果とか確認してるんだろうか。
452 :
デフォルトの名無しさん :2010/09/30(木) 20:43:49
何のためにs5関数があると思っているのだ。 短い周期がない事と、出力の統計が一様分布だということは確認済み。
自分でやる気ないのに、何いってんだか
ファイルまわりのエラー処理とか不完全なもんを公開するんかね
巣に帰れ
実装ってより、スクランブルパターンの設計をしただけでしょ
まだいたのか・・・。
0~255に絞れば、乱数で元データのパターン作れそうだな
バイト毎にxorとってるだけだから、解析されるのも速そう
460 :
デフォルトの名無しさん :2010/10/01(金) 00:26:48
あらさがしも歓迎するから解読方法が見つかったら公開してくれ。
固定の鍵がソースにハードコーディングされてりゃ解読もなにも・・・
16バイト毎に順番入れ替えるとかすると、速度が出なくて没になったとか?
PN符号の方が実装は楽だ
464 :
デフォルトの名無しさん :2010/10/01(金) 09:27:21
Cygwin環境でGCCのビルドに失敗します。原因はよくわかりません。 失敗のメッセージはどこに書かれているのでしょうか?
パッケージを使わないことが原因ですね。
466 :
デフォルトの名無しさん :2010/10/01(金) 09:36:20
パッケージって何ですか。tar.gzだけではビルド出来ないのですか。 Cygwinは一応全部入ってます。
467 :
デフォルトの名無しさん :2010/10/01(金) 09:40:55
アセンブラメッセージERROR unknown pseudo-op .symver libstdc++v3/src ここでエラーが出ます。
全部入れるってのも基地外字見てるが、expパッケージまでは入れておるまい。
もしかしたらpatchセットがあるのかもしれないということを 疑ってみることさえしないなんて、ある意味尊敬するわ。
470 :
デフォルトの名無しさん :2010/10/01(金) 10:37:47
exp入れればコンパイル出来ますか。パッチセットって何ですか。
なんやこいつ
xor暗号くんでしょ
cygwinのgcc -v でみれるconfigureでやってみな。オプションが解読できればの話だが
クロスコンパイルしようとしてるのなら、target用のbinutilsが入ってないだけでしょ
cygwinのmingwクロスビルド用ツールチェーンのパッケージ入れて使えばいいだけなのに 大して意味も無いGCCのビルドをやってるってことか。荒らしって本当にアホだな。
minGWつかえよwww
TDMで Bundle Installer (The easiest install) tdm-gcc-4.5.1exe 20.6 MB ここ数ヶ月放置してたらかなり進歩したのが出てた。 うれしいな。
mingw-w64-1.0-bin_i686-mingw って32bitで64bitターゲットのクロスコンパイラと 64bitのdllが同じ場所に入ってるのか… 64bitと32bitのdllが同じ名前だとローダーも区別できないと思うんだが…
え、バイナリの中身見てで64bitと32bitを見分けてるんじゃないの?
64bit にも対応してる dll って話だと思うんだけど
はあ?
w64 の使った事無いから根拠無くイッテミタダケ・・・すまなんだorz 一方は shared でもう一方は static じゃねの?根拠無いけど・・・ 今試しに DL してみたけどディレクトリ構成酷いな・・・ もっとスッキリまとめろよと言いたい
staticなら.dllじゃなくて.aでしょ
484 :
478 :2010/10/02(土) 15:24:20
x86_64-w64-mingw32-objdump.exe -f
で調べると、binutilsやコンパイラは32bitでlibstdc++-6.dll等は64bitとなっていた。
dllのサーチ順の関係で、exeと同じフォルダやSystem32にインストールされるようなdll以外は
64bitと32bitを区別するのが難しいから競合する可能性があるよ。
64bitと32bitを分けて、自家ビルドのプログラムを別の場所にしている場合は
そっちにもdllをコピーしといたほうが安全だと思うな。
>>482 MinGWも以前はlibiconvやlibintlを動的リンクしてたと思ったけど、新しいのは
静的リンクになってるみたいだね。dependencywalkerで見てもkernel32やmsvcrtとか
標準的なdllだけになっていた。
x86_64-w64-mingw32とmingwのフォルダは合計サイズが同じだから
単にコピーしてフォルダの名前をmingwにしただけみたいだ。
32ビット,64ビット両対応のgccをビルドインストールすると ベースが64ビット実行環境なら bin bin/32 みたいに32ビットなdllとかは、32のdirに詰め込んでくれるよ、たぶん
cygwinダウンロード失敗して何回も何回もアンインストールして もう一回したらselect Packagesのとこが No packagese foundになってます。 どうしたらいいですか?
package path を適当なものに
488 :
デフォルトの名無しさん :2010/10/04(月) 10:22:25
mpc-0.8.2をminGWでビルドしようとするとconfigure --with-mpfr-lib=/libと やってもlibmpfr not found となり失敗します。mpfrのビルドには成功して make installしてあります。どうす
れ
490 :
デフォルトの名無しさん :2010/10/04(月) 10:27:52
どうすればいいですか
libだけじゃなくて、headerとかも指定せんといかんのじゃ /usr/lib?
492 :
デフォルトの名無しさん :2010/10/04(月) 12:11:09
headerの指定方法を教えてください。 /libにも/usr/libにもライブラリはコピーしてあります。 mpfrのmake checkでエラーがでるのですが、気にしなくて いいのでしょうか?
--with-mpfr-include ってなかったっけ
GCCでユニコードの文字を使う方法知りませんか? 例えばSJISの文字をユニコードに変換するやつとか ""で囲まれた文字がユニコードにする方法とか お願いします。
--exec-charset=utf-8 とかなんとか指定したらいいんじゃない
そうするとどうなるの? char a[]="あいう";みたいなこと やるとaの中のコードがユニコードになるの?
>>494 何をやりたいのかもう少し詳しく書いてくれないと答えようがないよ。
「ユニコード」と言ってもいろいろあるけど,UTF-8? UTF-16? あるいはもっと別のエンコーディング?
それとやりたいことは,ユニコードで書いたソースコード内の文字列リテラルを正しく認識させたいと
いうことなの?
そもそもユニコードを使う目的は何?
WindowsのプログラムでUnicodeって言ったらUTF-16のことだろ
L"あいう"ってだけの話じゃね
そんなら
>>496 に従えば,
wchar_t a[] = L"あいう";
だね。
SJISでもユニコードでも何でもいいコードで書いたソースコードの 変数の中にユニコードのデータを保存したい。
WバージョンのWIN32 API(::MessageBoxW()とか)に渡すの? それから「SJISでもユニコードでも何でもいいコードで書いた」ってのは、 「ソースコードは何で書くんでも構わないから」という意味なのか、「どんなエンコードで書いても 大丈夫な方法が知りたい」のか、どっちなの? 聞くときはもうすこし意味がわかるように書いてくれ。
wcharがユニコードである保証はないので どんな環境でもユニコードのデータを保持したいのなら数値を直接書く以外ない C++0xにはユニコードが追加される予定でgcc 4.5で実装されたはず
>>492 ./configure --help
をやってみませう
それとエラーは端折らないでコピペしませう
505 :
デフォルトの名無しさん :2010/10/04(月) 18:25:27
binutilをmake installしようとすると libiberty.a.n:Malformed archive とでてインストールに失敗します、なぜですか。
msgid "Malformed archive" msgstr "おかしな書庫です"
507 :
デフォルトの名無しさん :2010/10/04(月) 18:36:38
makeでコンパイルエラーがでるので適当に書き換えました。 ヘッダファイルとCのソースで定義が重なっている所があったので。 それが原因でしょうか?
馬鹿なの?死ぬの?
> makeでコンパイルエラーがでるので適当に書き換えました。 ここでお前は死んでいる?
エスパー募集か? コンパイルしてるソフト名すらまともに書けてない gccのバージョンも一切書いてない どこをどう変えたのかすら書いてない
511 :
デフォルトの名無しさん :2010/10/04(月) 18:47:56
GCC4.5.0 tc-i386.h 397:extern const struct relax_type *md_relax_table; tc-i386.h 402:extern int flag_16bit_code; を其々コメントアウトしました。
binutilsのバージョンが妖しい
わざとbinutilsのバージョン明示的に聞かなかったらやっぱり書かないんだな・・・
514 :
デフォルトの名無しさん :2010/10/04(月) 18:55:53
binutils-2.9
諦めろ
ageてんのはここのところ棲み付いてるアイツだろ、触ったら負けだよ。
UNIX環境想定のC言語によるプログラミングの練習のために cygwinをDLしなければならないんですが、PCのHDDが壊れてて DL時間がやたら長いです。項目はAll install でvim groff man をskipするやり方です。 ダウンロード先で早いところとかないでしょうか? 1%DLするのにだいたい7分〜15分くらいかかります・・・orz
それってVM入れてUbuntuでも使ったほうがよくね?
ring serverかmirrors.kernelじゃね
HDDが壊れてるのにミラーを変えて解決するわけがない。
521 :
デフォルトの名無しさん :2010/10/04(月) 19:42:11
>>519 それ全然違いますか?
jpやmirrorで
は試しましたが・・・
HDD壊れてるのに2ちゃんは余裕で書き込めますからねw
計算以外のアナログコンテツなどはほぼ壊滅的です。
>>518 試してみます
cygwinってall installじゃ最新のPCでもめちゃくちゃ時間かかるんじゃね? 100%になったかと思うとtotalじゃないしw 最低何をDLしてりゃCの大部分は使えるんだろう。
もうこのあほに触るな
あほのほあ〜
>>521 さあね、gnu直よりましでしょ。gnuはミラー推奨だけど
>>517 とりあえずデフォルトインストール+wgetでapt-cyg使うといいよ。
>>517 FAQ
Q. Cygwin は UNIX の勉強に使えますか?
A. Cygwin は UNIX に慣れた人間が Windows 上で楽するのには向いていますが、
UNIX の勉強には向いていません。
俺はcygwin->vm(linux)->linuxの流れでやったけど
>>527 そんなコマンドなくてワロタww
やっぱcygwinよりポートランドのほうがいいのかなぁ?
Linux入れて実際プログラミングやるやつ何ているの? アプリ作ってるの?
アプリっていってもいろいろあるでよ
Cygwinも使えないのにPGIとか
unix系のコマンド使う分にはプログラム関係ないでしょ
>>531 電気関係のツールとかLinuxが多くて、それらとリンクするために仕事ではLinuxメインでプログラムしてる。
cygwinは便利だけどmakeが遅いから、Windows用のツールもLinuxで作成して、
Windowsに持ってきてる俺。
make もそうだが、 configure が Windows では激しく遅いよな。 ファイルシステムかなんかの都合かねぇ。
すげー勢いでforkするからエミュレーションのコストがかさみまくってるんだろう。 以前cygwinスレあたりでshにsedを内蔵させてconfigureを高速化したツワモノがいたはず。
>>530 笑う前にググればよかったのに。
apt-cygの公式サイトはすぐ見つかるよ。
>>517 > 項目はAll install でvim groff man をskipするやり方です。
どこでそんな変な手順を覚えたのやら
>>539 これだけおんぶに抱っこで自分では何も努力しない奴だから、
apt-cygが追加ソフトで外部ツールだと思いもしなかったんだろうね。
HDDが壊れかけるんじゃなくて、HDDのコヤシになるものいれすぎて、空き容量不足とか
543 :
デフォルトの名無しさん :2010/10/05(火) 08:08:44
minGWでmpfr-3.0.0をビルドするとmakeの時にFile truncatedというエラー が出て失敗します。なぜですか。
cygwinでspoonwepをコンパイルしたいけど 肝心のソースが無い
msgid "File truncated" msgstr "ファイルが途切れています" 古いbinutilsを使ってるからでしょ
次は、gmp-5.0.1でビルドに失敗しますかな?
547 :
デフォルトの名無しさん :2010/10/05(火) 09:28:26
最新のmingwで再インストールをしても同じエラーがでます。 新しいbinutilsにするにはどうすればいいですか。
548 :
デフォルトの名無しさん :2010/10/05(火) 09:29:51
GMPは成功してます。
549 :
デフォルトの名無しさん :2010/10/05(火) 09:31:11
Cygwinでやるとウイルスができてmake checkに失敗します。 げんいんh
cygwinかと思ったら、msysですか? msysは更新されてないから、msysが古いのかもね。 比較的、新しいmsysのパッケージを入れてみたら、状況が変わるかも 何がしたいのか、何をしてるのか、わからんからこれ以上は... HDDが壊れかけてるといってた人なら、パソコン変えたほうがいいと思う。 情報は小出しにしないように
551 :
デフォルトの名無しさん :2010/10/05(火) 09:42:33
msysなつかしす
552 :
デフォルトの名無しさん :2010/10/05(火) 09:45:51
別人です。 msysのソースをコンパイルしてインストールするのですか。
dllがほしいのなら、本家mingwにgmpとかビルドしたのがあるから、それ使ったら 何やりたい(やってる)のかは言わないのね
554 :
デフォルトの名無しさん :2010/10/05(火) 10:04:39
GCCのビルドをやってます。
ウイルスの人なら、マシン変えたほうがよさような気がするけど 本家mingwだとgmpのheaderとかもdevのついた奴に入ってるみたいだから gmpとmpfrとmpcはそれ使ったら x86用のmingwなgccならわざわざビルドせんでも、配布してるところはいっぱいあるのに不思議
556 :
デフォルトの名無しさん :2010/10/05(火) 10:26:02
配布先が一か所しか知りません。 Winで動くクロスコンパイラなら何でもいいですが、自分の環境が 開発に適合しているのかを試しているのです。
お前の頭が適合してねー
559 :
デフォルトの名無しさん :2010/10/05(火) 10:37:41
解決しました。全部私が悪かったです。バージョンの古いbinutils をインストールしてwhich arで調べたら/usr/local/binに入ってた ので/usr/local/binを全部削除したら直りました。 一部文法エラーが出ますが。バージョン変えてやってみます。
560 :
デフォルトの名無しさん :2010/10/05(火) 12:22:54
>>502 >WバージョンのWIN32 API(::MessageBoxW()とか)に渡すの?
渡しません。ユニコードで文字を処理します。
文字は表示しないで記号として使います。
>>503 gcc 4.5で u"あいうえお"みたいな書き方が出来るってインターネットでかいてあったけど
できませんでした。
それはCではなくC++の機能のはずだけど、ちゃんとC++としてコンパイルした?
質問者の振りをした荒らしが住み着いてるな……
たちがわりいな
>>561 アンカーついてないけど
>>560 に対する書き込みか?
そうじゃないならアンカーくらいつけろ。
ちなみに
>>560 としたらstd=c++0x風のオプションはつけたぞ
無視だな無視。
↑小学校でみんなに無視されたやつ
煽り・荒らしは華麗にスルー! 荒らしを構う人も荒らしです。
568 :
デフォルトの名無しさん :2010/10/05(火) 15:57:29
MINGWでbinutilsとGCCのコンパイルに成功しましたが、make checkをかけると WINDOWSエラーが出ます。何か対処方法があったら教えてください。 cc1.exeは動作を停止しました。問題が発生したためプログラムが正しく動作 しなくなりました。
569 :
デフォルトの名無しさん :2010/10/05(火) 16:08:32
test-pexcute.exeが何かをしているようです。
570 :
デフォルトの名無しさん :2010/10/05(火) 17:49:59
msys1.0のdllがはいっているのですが、バージョンを上げるには どうしたらいいですか。
ファイル名をmsys12.dllなど、上げてみてください。
make checkに失敗してるのはメッセージを見る限り 新しいdllが読み込めなかったからとかじゃないですか? make checkするときに新しいdllの場所を一時的にPATHに指定してみてはいかがでしょう
573 :
デフォルトの名無しさん :2010/10/06(水) 15:09:49
cygwinでGCCをコンパイルすると、ウイルスができてしまいビルドできません。 Cygwinをクリーンインストールしても変わりません。MINGWでビルドすると cc1.exeがmsys1.0.dllで暴走しいるのがGDBで分かりました。無理にビルドする 必要はないのですがどちらが開発に適した環境かわかりません。GCCのビルドが 目標ですが何かアドバイスお願いします。
お前には無理だからあきらめろ、というのがもっとも親切なアドバイスな気がするが 聞く耳を持ってはくれないんだろうなあ……。
575 :
デフォルトの名無しさん :2010/10/06(水) 15:59:28
GCCのビルドってそんなに難易度高いんですか? configure+makeで全自動でできるんじゃないんですか? 一応手順通りにやっているのですが、ウイルスができたり暴走したり して失敗しているのです。ツールが悪いんじゃないんですか。
無理にビルドする必要がないのなら無理にビルドしなくていいじゃない ツールが悪いのでビルドできません終了、ってことでいいじゃない
(´・ω・)もれも GCC ビルド中にウイルス認定されて隔離されるファイルがある が、それは誤診しているだけ ちなみに使っているアンチソフトは、ESET(゚∀゚)昔使っていた Norton に戻そうかしら・・・ まぁ某ウイルスソフトの誤診&勝手に削除に比べたら何て事無いけどw 取りあえず、Cygwin の所から必要なの DL して PATH 切って使えば良いじゃん 自前ビルドじゃないといけないのか?
バカは放っておけよ
GCCなんてかなりスキルを要求される相当難しいレベルのものに手を出すわりに なんとお粗末なレスをしてるのかと呆れるばかりだ。
>>575 > configure+makeで全自動でできるんじゃないんですか?
おいおい……
まさかstage1とかstage2とか全部すっ飛ばしてるんじゃないだろうなw
ちょっとは事前に下調べ位しろよ(ヤレヤレ
581 :
デフォルトの名無しさん :2010/10/06(水) 17:25:45
最後に触ったのがGCC2.95のころだったのでそのレベルで考えてました。 ステージ1?何の事だか分らないので調べます。
gccは3回コンパイルされて完成。
>>575 成功したといったり、出来なくなったといったり
どっちが正解なの?
どういう環境、どういう手順でやってるかがわからないので、(gccのどのverをビルドしてるのかも)
頓珍漢なレスが帰ってくるだけですよ。
少し前からログを読むと判るが、それ、質問じゃないから。
少なくとも
>>356 の頃には既に荒らしが棲み付いていたようだ。
>>400 過ぎる頃にはもう目も当てられない状況になってるし。
586 :
デフォルトの名無しさん :2010/10/06(水) 18:41:03
GCCのバージョンは4.5.1です。 Cygwinではconfigure+makeするとウイルス誤認とgenautomata.exe Permission denied というエラーが出て止まります。 minGWでも同じバージョンでconfigure+makeですがcc1.exeが暴走して WINエラーで止まります。どっちも失敗してます。正しいビルドの方法が わかりません。クロスコンパイラを作りたいと思ってます。 必ずしも必要なわけではないのですが、作れないと気持ちが悪いのと、 GCCの方がVisualStudioよりもバイナリの性能がいいので環境依存しない GCCを使おうと思っています。(依存しないというのは正しくないですが) WINで動くアプリの制作にGCCを使おうと思っています。
気持ち悪いと言って時間潰すのは無駄 出来上がったバイナリ使う方がいいよ
msysで4.5だとほげほげしないとビルドに失敗する。(動かないgccがでける) cygwinでのgcc4.5のビルドはやったことないけど、msysと同じ問題を抱えてるのかも gcc4.4系でやったら
589 :
デフォルトの名無しさん :2010/10/06(水) 19:01:38
難しいんですねやっぱり。4.4でも試してみます。 因みに、MINGWではmake stage1-bubble,make stage2-bubbleは 成功しています。それでも出来なかったら諦めます。
ふつうに出来合いのクロスコンパイラ使え
そのつかってるmingwのgccはver4.5じゃないの?
592 :
デフォルトの名無しさん :2010/10/06(水) 19:36:00
使ってるMINGWのGCCは4.5.0でCygwinは4.3.4です。 MINGWでmake compareまでできましたが、make checkで失敗します。 このままインストールするとせっかく動いている環境が破壊される かもしれないので、今日はここまでにします。
まさか、gccビルドするとき ./configure ほげほげ って、やってないよね
594 :
デフォルトの名無しさん :2010/10/06(水) 20:20:03
何もしてません。>./configure 一応通ります。
それ、間違い
gccでは推奨されないやり方の方があってるかな?
597 :
デフォルトの名無しさん :2010/10/06(水) 20:36:34
知りません。全く解りません。
>>592 > Cygwinは4.3.4です。
cygwinのMinGW32クロスビルド用のGCC4.5はなんで無視し続けてるんだ?
もれ configure ほげほげ → make でやってるんだけど、何かおかしいのか?
mkdirやって、そこにcdしてから そこでconfigureとmakeを実行 でわかるかな?
>>599 昔はそれでgccのビルドに失敗してたんだけど
最近は、成功するのかな?
むしろ最近はディレクトリ作ってそこでconfigureしろって文句言われて止まる
>>601 なるほろ、そなのか
取りあえず、もれの環境だと問題無く出来るお
stage1とかやってないって言ってるくらいだから、sourceディレクトリと別に buildディレクトリを作ったりはしてないんだろうね。 GCCのビルドやろうって人間としたらちょっと考えられない蛮行。
>>603 それだとGCCの初回のビルドは通るかもしれないけど、
それ以降の手順に進めなくないか?
606 :
デフォルトの名無しさん :2010/10/06(水) 20:52:59
Cygwinの方はエラーが出るので諦めました。 マニュアルの方にはディレクトリ作ってどうのとかいがありますが 作らなくてもできそうなのでやってません。 そのせいでできないのかもしれません。
592は途中で止まるっていってるね
なんのマニュアル見てるんだか、いまさら
gmpとかもmsysほげ.dllに依存したものつくったのかも
610 :
デフォルトの名無しさん :2010/10/06(水) 21:00:06
このスレは教え方が悪い。教える気あるのか。 あれがだめこれがダメ言う前に正しいコマンドでも教えてみろ
>>610 センスのない人間は止めたほうがいいんじゃない?
小出し君は出来ないと怒るのかな
614 :
デフォルトの名無しさん :2010/10/06(水) 21:05:24
make LANGUAGE=c で出来たよ。余計なものはいらない。
はいはい、よかったね
configure に --disable-bootstrap やってるから 3-stage は無視してるお(゚∀゚)
マニュアルも無視する、検討できる実際の手順やログも出さない、そりゃ釣りとしても低レベル過ぎだわww
mingwなgccでgccのmake checkやってるいってたけど msys用のdejagnuはなかったような? 自力でいれたんかね? 探せばあるみたいだけど...
cygwinのパッケージの中に mingw64-i686-gcc mingw64-x86_64-gcc ってのがあるじゃないか
>>620 そうそう。もう何回も出てるのにね、その話は。
悪いが見落としてた。 いつ頃、入ったの?
調べた。 先月の中頃だった。
MinGWとEclipse-CDTを組み合わせて使う事は出来ますか?
>>618 (´・ω・)Core と G++ しか使ってないですお
>>625 javaはダメってことで
昔は、gcc(2.9の頃かな)本体のbuildでこけてたから、知らないうちに進歩してるんだね。
cygwinのパッケージには見えなかったな、申し訳ない
そのあとにも前にもcygwinのパッケージって言ってんのにねwww
32bitのmingwなdllはここにあるのか /usr/i686-w64-mingw32/sys-root/mingw/bin/
cygwinの環境でgcc-4.5.1をbuildしてみた。 gccのbuildに必要なパッケージをinstall $ tar xjf gcc-4.5.1.tar.bz2 $ mkdir cygwin $ cd cygwin $ ../gcc-4.5.1/configure --disable-win32-registry --enable-languages=c,c++ CC=gcc-4 CXX=g++-4 $ make の手順で無事終了 make installでこけるかどうかはやってない。make checkも
面白い面白い MinGW4.5.1+Eclipse Heliosで完璧じゃん
MinGWとEclipseについての質問です コンソール画面にprintf()などで出力した文字列が現れるのは scanf()で入力した後になって頭が混乱するんですけど、fflush(stdout); なんかを入れるとデバッガで停止します 何とかいい方法はないでしょうか?
一例ですが printf("x = "); fflush(stdout); scanf("%d", &x); printf("y = "); fflush(stdout); scanf("%d", &y); printf("z = "); fflush(stdout); scanf("%d", &z); こんな感じで書かないとコンソール出力がうまく行きません コマンドプロンプトに出るような感じではうまく行かないでしょうか?
改行しても構わなければ\n追加かputsに 行バッファリングだからさ
>>635 ありがとうございます
Eclipseのコンソール出力がコマンドプロンプトと挙動が違うので迷ってました
やってみます
うーん\nを付けてもだめですね・・・ 1 2 3 x = y = z = いちいちfflush()しないとだめというのも気持ち悪いなあ
setvbuf(stdout, NULL, _IONBF, 0); これでいいんじゃね
>>638 うまく行きました
ありがとうございます
C++の場合はstd::endlを最後に付けるようにしているので
フラッシュされますが、Cの場合はバッファリングモードそのものを
OFFにしないといけないみたいですね
Eclipseの開発元にコンソール画面のプロパティで設定出来るように
メニューを付けてもらえないかメールを送っておきます
>>639 いや、最後の2行だが、多分だめじゃないかな
バッファリング戦略はstdioの話、つまりユーザが書いてるプログラムのプロセスに
属する問題なので、Eclipseという外部プロセスからどうこうできる話じゃない
ふつーstdioでは標準出力が端末の場合(isatty()が真を返す場合)にのみ
行バッファリングにする
Unixだと擬似端末という仕組みを使ってttyに出力しているようにみせかけることも
できるが、Eclipseは単にパイプで入出力しているんだろうし
Windowsではいずれにせよptyは使えないんだからダメだろう
>>641 そういう事情があるんですね
という事はMinGWのコマンドプロンプトはむしろ異端的な環境みたいだと
本当はEclipseからコマンドプロンプトを呼び出せればいいんですが、それは
無理みたいだしC言語の仕様という事で諦めるしかないですかね
その点Dev-C++はコマンドプロンプト出力だから良かったよな 開発が停止してしまったのは惜しい Eclipseの真の強力さはそのデバッガにある
windows8からコマンドプロンプト無くなるらしいのに しかもscanfとか、いや何でも無いけど
「らしい」とかそんな不確定要素はいらん
何らかのコマンドラインインターフェイスは残すだろ PowerSehell を推したい意向じゃなかったっけ。
XPのコマンドプロンプトも全然DOSとは関係ないしな
WSH 涙目
cygwin環境でmingwなgccをクロス?ビルドしようと思えば出来るね。 msysの立場が微妙だけど、mingw64でもmsysの配布をやってるんだ。
キター Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒(。A。)!!
653 :
デフォルトの名無しさん :2010/10/12(火) 15:01:54
mingw32のシェルで日本語の入力ができません。 これは仕様ですか?Cygwinで入力した文字が正しく認識されません。 GCCのバグのようですが解りません。mingwのコンパイラでは同じプログラムで 正常に動きます。日本語処理に詳しい方教えてください。
>>653 問題を整理してくれ。問題を一つずつ主語と目的語を明示して書き直すだけでずっと判り易くなるぞ。
うん
触るなと。 上の方のログ見ればどんな奴かわかるだろ。
657 :
デフォルトの名無しさん :2010/10/12(火) 16:20:44
Cygwinをいじっているうちにおかしくしてしまったようで、 同じプログラムが同じように動きません。文字コードを入力して 表示するプログラムなのですが日本語の2バイトコードが正しく 表示されません。CygwinのGCCでコンパイルするとおかしくなります。 MINGWのコンパイラだと正常に認識します。 もう一つはmingwのシェルですが日本語を入力しようとしても 文字が消えてしまいプログラムに引数渡しができません。 以前は問題なく動いていたと思うのですが今日突然おかしい事に 気づきました。これは今まで気づかなかっただけで普通の現象なの でしょうか。日本語がコマンドプロンプトから入力できないことは ないと思うのですができません。
658 :
654 :2010/10/12(火) 16:22:54
cmd.exe使えって言われないのが不思議
質問です。 普通にmsysをインストールして普通に起動したらDELキーを押したとき「~」が出るわ、 lessコマンドの表示でカーソルキーが使えないわで何か変なんですけど、 どう設定すれば正常になるでしょうか?
それが正常
mingw, msys の GNU make で -jN がデッドロックしない版を呉
msysでcmdのインターフェースがすごく使いにくいからrxvt使おうとしたら日本語だめだめだった・・ minttyは便利だな。 設定もパッチもいらずにそのままで使えるぜ。
ckw 使おうぜ
gcc-4.6 で mingwrt-3.18, w32api-3.15-1 を build した後、生成されたファイルを上書きインスコ 試しに以下のソースを build してみたんだけど、出来上がった実行ファイルは動かなかった(´・ω・`) #include <stdio.h> int main(int argc, char *argv[]) { printf("hello, world\n"); return 0; } どっちが原因で動かない実行ファイルが作成されるのか試してみたんだけど、どうやら mingwrt-3.18 らしい とりあえず w32api-3.15-1 は、問題無いみたい・・・上のソースじゃ確認にもならないかもだけど・・・ ちなみに環境は XPSP3 の自前ビルドです えらいひと修正してくんないかな・・・(´・ω・`)スキル無いもれは他力本願ですスマン
>動かなかった(´・ω・`) を詳しく書かンと相手にされないよ。ソース晒して、追試してじゃ...
> (´・ω・`) コテ付けろ、あぼーんしづらい
Cygwinにg++の4.5入れたいんですが、ソースしかありません コンパイル法を教えていただけないでしょうか
TDMでいいじゃん
$ gcc-4 -v でconfigureが出てくるのでそれを改良してやるんだね。
>>670 ビルドされたのあるじゃん(# ゚Д゚)プンスコ!!
>>667 lto-pluginで
*** Warning: Trying to link with static lib archive ../libiberty/pic/libiberty.a.
ってのが出て、ビルドがこけるぞ
>>667 mingwrt-3.18が駄目なときの回避方法を書いてくれ
特に駄目って事ないみたいだけど...
とりあえず、linuxな環境で作ったmingwなgcc4.6でコンパイルしたruntimeだと 問題ないけどね、hello world 君の環境で動かない時にwindows君はなんか文句は言わんのかね? なにを基準に動かないと言ってるのかいまいち不明
677のサイトのやり方だと出来損ないのgccができそうだけど 動かんgccのconfigureのオプションを晒してくれ
>>680 binutils-2.20.51
../binutils-2.20.51/configure --prefix=/mingw_new --with-sysroot=/mingw_new --with-build-sysroot=/mingw_new
--build=i686-pc-mingw32 --target=i686-pc-mingw32 --infodir=/mingw_new/share/info --mandir=/mingw_new/share/man
--libdir=/mingw_new/i686-pc-mingw32/lib --includedir=/mingw_new/i686-pc-mingw32/include --enable-64-bit-bfd
--enable-targets=i686-pc-mingw32,x86_64-pc-mingw64 --disable-bootstrap --disable-werror --disable-nls --enable-static
--disable-shared --enable-threads=yes --disable-multilib --disable-libada --enable-libssp --disable-rpath --with-host-libstdcxx=-lstdc++
--with-ppl=/mingw_new/sup --with-cloog=/mingw_new/sup --with-gmp=/mingw_new/sup --with-mpfr=/mingw_new/sup
--with-mpc=/mingw_new/sup --with-libelf=/mingw_new/sup --enable-lto --with-pic --with-zlib --enable-plugins
gcc-4.6
../gcc-4.6-20101023/configure --prefix=/mingw_new --with-sysroot=/mingw_new --with-build-sysroot=/mingw_new
--build=i686-pc-mingw32 --target=i686-pc-mingw32 --infodir=/mingw_new/share/info --mandir=/mingw_new/share/man
--includedir=/mingw_new/i686-pc-mingw32/include --enable-languages=c,c++ --enable-version-specific-runtime-libs --disable-bootstrap
--enable-sjlj-exceptions --disable-win32-registry --disable-werror --disable-nls --enable-static --disable-shared --disable-decimal-float
--enable-threads=win32 --disable-multilib --disable-libmudflap --disable-libada --enable-libssp --disable-libgomp --disable-rpath
--disable-debug --disable-libstdcxx-pch --with-host-libstdcxx='-lstdc++ -lsupc++' --with-ppl=/mingw_new/sup --with-cloog=/mingw_new/sup
--with-gmp=/mingw_new/sup --with-mpfr=/mingw_new/sup --with-mpc=/mingw_new/sup --with-libelf=/mingw_new/sup --enable-lto
--with-system-zlib --enable-fully-dynamic-string --with-pic
>>681 続き
w32api-3.15-1
../w32api/configure --prefix=/mingw_new --build=i686-pc-mingw32 --target=i686-pc-mingw32 --libdir=/mingw_new/i686-pc-mingw32/lib
--includedir=/mingw_new/i686-pc-mingw32/include
mingwrt-3.18
../mingwrt/configure --prefix=/mingw_new --build=i686-pc-mingw32 --target=i686-pc-mingw32 --libdir=/mingw_new/i686-pc-mingw32/lib
--includedir=/mingw_new/i686-pc-mingw32/include
>>678 作成された a.exe を実行すると windows がエラーダイアログを表示
a.exe 単体のエラーで ntdll.dll とか他のを巻き込んでのでは無かったです
ちょと今すぐには確認出来ないので、また後でエラー表示内容をアップしたいと思います
> --enable-static --disable-shared にしてるから、mingwrtにもいるんじゃないだろうか?
>>681 補足
cloog-ppl-0.15.10
gmp-5.0.1
libelf-0.8.13
mpc-0.8.2
mpfr-3.0.0-p7
polylib-5.22.5
ppl-0.11
zlib-1.2.5
----------
bzip2-1.0.6
dlfcn-win32-r19
libiconv-1.13.1
pthreads-w32-2.9.0
よう詰め込んだもんだ dllとstaticが混在して、環境破壊してるような?
mingwrt の configure に static.shared の項目無かったから省いているんだけど 後で試して見ます すいません、眠くなってきたので取りあえず此処までで・・・ レスありがとうございました(´-ω-`)オヤスミナサイZzzz
おはようございます。
これから仕事なので手短に
>>684 mingwrt-3.18
configure: WARNING: unrecognized options: --enable-static, --disable-shared
やっぱり、駄目ですね
>>683 windows が表示したエラーダイアログ内容
----------
エラー署名
AppName: a.exe AppVer: 0.0.0.0 ModName: a.exe
ModVer: 0.0.0.0 Offset: 00007fff
----------
>>689 追記
hello, world も表示されないまま、エラーで落ちます
--enable-static --disable-shared でgcc4.6作って、
上の続き runtimeをBUILDして、hello worldをコンパイルしてみたけど 特に問題はでなかったな。 動くものと動かないものをバイナリーで比較してみるぐらいしか...
>>692 そちらは問題無かったですか・・・
多分、もれの環境が原因なのかもですね
一応、動くものと動かないもの(※1)のバイナリ比較はしてみましたが、GCC-4.6 で生成された実行ファイルのサイズは同じものの
中身は違うものでしたね・・・動かないんだから当たり前か・・・orz
もう少し、色々と試してみようと思います
※1
動くもの:GCC-4.5.2 環境で build した mingwrt-3.18 使用時
動かないもの:GCC-4.6 環境で build した mingwrt-3.18 使用時
crt2.oがくさそうだから objdumpで逆汗とかして比べてみたら
汗くさそう…
MinGWを使用して、 リンカスクリプトというものを勉強しています。 1.勉強に使っているソース Test1.c #include <stdio.h> int main(void) { printf("hoge\n"); return 0; } 2.gcc Test1.cでコンパイル・リンクし出来上がった a.exe をobjdumpで調べたところ、 > objdump -h a.exe a.exe: file format pei-i386 Sections: Idx Name Size VMA LMA File off Algn 0 .text 000009b4 00401000 00401000 00000400 2**4 1 .data 00000050 00402000 00402000 00000e00 2**4 2 .rdata 000000d0 00403000 00403000 00001000 2**4 3 .bss 000000e0 00404000 00404000 00000000 2**4 4 .idata 00000294 00405000 00405000 00001200 2**2 となっていました。また、a.exeは正常に動作します。
697 :
696 :2010/11/01(月) 21:47:35
3.最も単純なリンカスクリプトを作りたくて下記をScript1.xの名前で作成しました。 SECTIONS { . = 0x00401000; .text : { *(.text) } . = 0x00402000; .data : { *(.data) } . = 0x00403000; .rdata : { *(.rdata) } . = 0x00404000; .bss : { *(.bss) } . = 0x00405000; .idata : { *(.idata) } } 4.gcc -T Script1.x Test1.cでコンパイル・リンクしたところ下記のエラーが出ます。 ..\mingw32\bin\ld.exe: warning: dot moved backwards before `.rdata' ..\mingw32\bin\ld.exe: section .idata.1 [00403000 -> 00403013] overlaps section .rdata [00403000 -> 004030cf] ..\mingw32\bin\ld.exe: section .bss [00404000 -> 004040df] overlaps section .idata.2 [00404000 -> 00404003] collect2: ld returned 1 exit status 最低限のリンカスクリプトはどう書けば良いのでしょうか? 参考になるサイト等あれば教えて頂けると助かります。 (/MinGW/mingw32/lib/ldscripts/i386pe.xは見ましたが、 ゴチャゴチャしていて私には理解できませんでした。)
エラーメッセージからすると .idata.1 と .idata.2 というセクションがあってそれが指定されてないからアドレスが上手く割り当たってないように見える *(.idata.*) にしてみたら
>>698 とりあえず
*(.idata$*)
にしたらコンパイルリンクは通りました。
出来上がった a.exe を実行するとまともに実行できず、戻り値が127になったので、
i386pe.xを削る方向でやってみたところ下記で正常動作しました。
SECTIONS
{
. = 0x00401000; .text : { *(.text) *(.ctors); }
. = 0x00402000; .data : { *(.data) }
. = 0x00403000; .rdata : { *(.rdata) ___RUNTIME_PSEUDO_RELOC_LIST_END__ = .; }
. = 0x00404000; .bss : { *(.bss) }
. = 0x00405000; .idata :
{
SORT(*)(.idata$2)
SORT(*)(.idata$3)
LONG (0); LONG (0); LONG (0);
SORT(*)(.idata$4)
SORT(*)(.idata$5)
SORT(*)(.idata$6)
SORT(*)(.idata$7)
}
}
↑の何故これだと上手く動くのか私には分かってません。
>>699 見てみます。
○ /ヽノ  ̄ ̄ ̄
Dev-c++ 4.9.9.2 に TDM MinGW gcc4.5.1を入れてみたんだけど 「Dev-c++ was unable to find GNU Make with current settings however there's GNU Make in Dev-c++'s bin directory.」 というエラーメッセージが消えなくて困ってます。 何か追加設定が必要なんでしょうか? (コンパイル自体は成功している) 4.4.1の時は、Compiler Option の Program タブの make の所を make.exe になってたのを mingw32-make.exeに修正すれば、エラーも出ず動いたのに。 ちなみにDirectoriesタブの設定は Binaries C:\MinGW32\bin Libraries C:\MinGW32\lib C Includes C:\MinGW32\include C:\MinGW32\lib\gcc\mingw32\4.5.1\include C++ Includes C:\MinGW32\lib\gcc\mingw32\4.5.1\include C:\MinGW32\lib\gcc\mingw32\4.5.1\include\c++ C:\MinGW32\include にしてあります。
>>693 わかったよ、動かない理由が。
runtimeが最適化されてると駄目みたい。
回避策としては、
CFLAGS=-g
とかで、runtimeをビルドする。
どの最適化オプションが影響してるかはわからない
>>702 tdmにはmakeは入ってないのでは?
>>703 追加情報
gcc/PR44997で報告されてる。
回避方法
runtimeのtlssup.cの
for (pfunc = &__xd_a + 1; pfunc != &__xd_z; --pfunc)
を
for (pfunc = &__xd_a + 1; pfunc < &__xd_z; --pfunc)
に
上書き後の動作も確認しました ありがとうございました 本家は、何で fix しないんだろう・・・
Invalid. で止まってるね。なんでだろ?
>>705 一応、確認なのですが
runtimeのtlssup.cの
for (pfunc = &__xd_a + 1; pfunc != &__xd_z; ++pfunc)
を
for (pfunc = &__xd_a + 1; pfunc < &__xd_z; ++pfunc)
に
ですよね?
>>709 そう
もう、4.6の環境消したからあとは自力で
ほかで引っかかる可能性は否定できない...
乙でした
これやれば、--disable-sharedをやらなくてすむよ lto-pluginのdllをつくるためのpatch --- gcc-4.6-20101023/ltmain.sh +++ gcc-4.6-20101023/ltmain.sh @@ -5438,7 +5438,7 @@ func_mode_link () case " $dlpreconveniencelibs " in *" $deplib "*) ;; *) - valid_a_lib=no + valid_a_lib=yes case $deplibs_check_method in match_pattern*) set dummy $deplibs_check_method; shift
mingw系特有の現象みたいだ。(他の環境だと再現しないようだ) -ftree-ccp が悪さしてるところまでは突き止めた。(-O1以上とペアで有効になる)
mingw(特有) の fix は後回しなのかな・・・(´Д⊂グスン
tar玉が20100626までは大丈夫みたい。 おかしくなるのは最適化で分岐が消えてるからなんだけどね。 自力で治すか、 出来ないなら、しっかりしたレポートを書いてお願いするしかないでしょう experimentalに特攻するのもどうかと思うけど...
おかしくないか?
UTF-8, UTF-16, UTF-32の三つのUnicode符号化形式サポートはまだですか?
何のことだ?
gcc4.6を気軽にさくっと試せるのは一体いつになるんだ・・・
来年の春ぐらいかな?
TDMさんの気まぐれ更新を待とう
動くことは動くだろうが、最終更新日が2004年2月のmingwとか使いたがるやついるのか?
日本語化しようとしたけど、gccに文字コード指定が追加されたので放置されたみたい
-ja じゃなくて -jp だから日本語化じゃなくて日本化プロジェクトだなw 名前からして先の運命が見えていたようにしか思えないww
TDM MinGWにしとけ Eclipseと組み合わせて使ってるけど今の所不都合無し
TDMはホント便利。 でもいつアップデートされるのかとかが不安なのがねw
TDM 4.6早くビルドして欲しいよな しかしC++0xでmoveとcopyの論争が起きているので様子見なのか
TDMって正式リリースされたもの以外も出すのか?
現状のTDM MinGWのgccのversionはいくつなんでしょう 私が1年ほど前試した時は、4.4.1-2 (記録違いだったらすまん)でした これだと本家の3.4.2(これだと日本語が使えた。現状インストールできるかどうかわからん) とあるプログラム速度の違いを調べたとき本家の方が2割ぐらい早かったんです。 プログラムの書き方の相性もあるでしょうが、 現状TDMは、どの程度進歩してるのでしょうか?
なんで自分でTDMのサイトにいかんのだ?
versionは、4.5.1 のようですね。 すいません。前にも言った様に入院しているもので ネットはのぞくだけで、ダウンロードしてテストができないもので 私の技量が低いもので、 前のものはインストールしないとverがよく分からなかったものですから
「前にも言ったように」ってお前が誰かなんて知らんよ。 過去発言を前提にするなら数字コテくらい付けろ。
737 :
735 :2010/11/23(火) 19:42:21
>>736 すいません。それぐらいはするべきでした。
自分ではここのところの話の流れからして
>>724 から連続して
質問しているつもりでした。
お前が退院するころには4.5.2なり4.6.0なりがでとるかもしれんだろ 暇もてあましてるなぁ、コンパイラの心配よりもコードのこと考えろよ
739 :
735 :2010/11/24(水) 13:06:38
>>738 コードのことについては、今扱わなければならないコードの簡単な方について
精読しているところです。
ついでに理論やアルゴリズムも調べているところです
あつかわなければいけないコードの複雑なほうはソースだけでも
病院に持ち込めない量があるので、それを解説した資料を見ているだけです
簡単な方を改造して複雑なほう並みの性能をだそうと思っているのですが、
うまくいくかどうかは分かりません
「前にも言ったように」ww 2chは便利屋じゃないんですぞ。
MinGWとLinux(Redhat)のgccで、動作を切り替えたいのですがどのようにすればよいでしょう? イメージ #ifdef デフォルトでMinGWのみにdefineされている文字列
gcc -xc -E -dM /dev/null を実行して、それっぽいものを探す
>>742 ありがとう。linuxのほうに
__linux__
とかあったんでそれを使うことにしました。
mingw-get-inst-20101030.exe を利用してインストールすると gcc.exe、g++.exe、gfortran.exe等は4.5.0のものが入りましたが、gcj.exeは無いようです。 4.4.0にはgcc-javaもあるようですが、gcjを使うには4.4.0のgccパッケージを一つ一つ手動インストールするか gcjを有効にしたものを自力でビルドする必要があるのでしょうか?
> 自力でビルドする必要があるのでしょうか? 自力でpatchを当ててビルドしないとlibjavaのビルド中にこけます。
ありがとうございます。 今の私には少しハードルが高そうですし、今すぐ必要というわけでもないので 暇が出来たときに少しずつ勉強しようかと思います。
MinGW(特にTDMとか)は、window7 とか Vista 上で動くんでしょうか? 64-bit 版があるので動きそうな気もするんですが。 新しい高速なマシンを買おうかどうか迷っているものですから。
動く
9xで動くかどうかならともかくVista/7で動くかどうかって・・・ 64bit関係ないし・・・
TDMに64bit buildがあるんだよ
64bitターゲットじゃなくて?
mingw-w64のgcc.exeやg++.exeは32bitバイナリなのを知らない人なんだろう
XPモードで動かせばいいじゃん
XPモードで動かせばいいですね
XPモードで動かせばいいのかよ
>>752 i686,x86_64の両方とも32bitバイナリなの?
cygwinのは32bitバイナリでしょ。
そなのか、ありがとう
759 :
デフォルトの名無しさん :2010/12/14(火) 11:02:56
TDM のMinGW を入れてテストし始めてるんだけど make は、どうするの 昔のものはmsysを入れてたんだけど 今はどうするのが普通なの? MinGWに付いてるmake? msysを入れるとしたら1.0.10?1.0.11?
>>759 俺は面倒臭いんでeclipseを入れている
これなら自動的にmakefileを作ってくれるし
761 :
759 :2010/12/14(火) 19:04:05
Java など、あまり使ってみたことが、なかったので(gcjしか) 見よう見まねでEclipse CDT を入れてみたら、中にMinGWとmsysが入っていて どうもそれを認識しているみたいだ MinGWの場所の設定の仕方を検索してみたら、 1.eclipse 2.ランゲージパック 3.MinGW 4.msys 5.gdb 6.CDT の順番にインストール するページぐらいしか引っかからない みているページが古いのか?
古いのですかね
>>761 >>759 のmake は、どうするの
これは、コンパイラ/ライブラリはTDMのを使い、IDE(Eclipse)を使って
クリック一発でmake(プログラム作成)する方法を教えてってことだろ?
いまのゆとり時代にプログラム開発でIDEを使わない、自分でmakefileを作成する
なんてことは信じられないよな。
で、Eclipseのインストール・設定でトラブっているのか?
MinGWとかコマンドプロンプト直書きかバッチで十分だろ。 それで足りないなら統合環境でって感じで。 バッチに"gcc *.c"とでもかいておk・・・ あっ・・・・
765 :
759 :2010/12/15(水) 07:22:58
ターゲットが二つ有り、それぞれによって、コンパイル時に定義するマクロを変えたり したいんですが、makeだとそれなりに分かるんですが、 IDE とかででそういうことができるようになるにはどれぐらいかかるんでしょう 実際、インストール・設定のレベルで出来ていません
>>765 eclipseなら左のプロジェクト名を右クリック→Makeターゲットで新規ターゲットを作成し、
再度左のプロジェクト名を右クリック→プロパティ→C/C++一般→パス及びシンボルの
シンボルタブにマクロを定義できる
TDM MINGWにGDB付いてますか? 付いてないならどうしたらいいですか?
ついてるなら安心だな。 これでやっと疑問から解決されて 晴れ晴れしい気分で明日を迎えることが出来るよ。
eclipse CDTの方が遙かに高機能なデバッガが付いてるんだけどな これはスレ違いか
それはデフォで入ってんの? それなら俺のコンピューターに知らず知らずのうちに 高機能なデバッガがインストールされていたと言うことが確定されるな。
変なのに捕まったね
774 :
デフォルトの名無しさん :2010/12/16(木) 00:53:13
すいません。 ひとつ聞きたいことがあります。 学校でプログラミングをコンパイルするときは ***.cのファイルをテキストエディタでつくり、 コマンドプロンプトで gcc-4 ***.c -o ***.exe というふうにやっています。 しかし家ではそのようにすると 「'gcc-4' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません」 とでます。家のパソコンにGccはないということでしょうか。 出来る限り学校のやり方に忠実に再現したいので、どうすればよいのか教えていただければありがたいです。
>>774 >出来る限り学校のやり方に忠実に再現
なら、学校の人(先生)に家のPC持ってくるから学校と同じようにGCCを使えるようにして
と頼んでね
マルチポストするような奴にはそれなりの対応しかしないってことだよ
>>775 ここには頭の良い奴なんて居ないから学校の頭の良い奴に相談しろ
>>774 要するに情報不足。
同じOSでもディストリビューションやリビジョンの細かい差もある。
それ以前に機械のアーキテクチャが違うなら同じの買わないとな。
GCCだけ同じバージョンでもそれは「学校のやり方に忠実」とは言えない。
まぁ、実際にはそこまで忠実でなくてもよいとは思うし、
初心者レベルならとりあえず適当にGCCを入れれば済む話だとは思うけど、
それの判断を第三者に求められても困る。
どの程度忠実であればいいのかを判断できるのは我々ではない。
とりあえず質問に答えるなら、自分がGCCをインストールしていないのであればGCCは無いんだろうということと、
インストール手順は
>>1-2 参照ということ。
>>774 とりあえずMinGW入れとけ。
それでダメならCygwinな。
ばかなの?
>「'gcc-4' は、内部コマンドまたは外部コマンド、 >操作可能なプログラムまたはバッチ ファイルとして認識されていません」 環境変数が設定されてないのかgccがインストールされてないかのどちらかじゃないの? lsコマンドあたりを打ってみてそれも表示されないなら Cygwinのインストールディレクトリ下のbin(C:\cygwin\binとか)を 環境変数pathに追加すればいい
Linux環境ごっそりもってくるのではなく bash、make、その他基本的なコマンド少々だけがほしいんですけど そういう場合はCygwinではなくMinGWを選択するのが正解なんですか?
何したいかによるから、正解は自分で見極めないと
>>785 「基本的なコマンド」とか言われてもわからないよ。すくなくともMinGWにはbash含まれてないだろ。
とりあえずCygwinだと大げさすぎるっていうんならMSYS使えばいいんじゃね。
>>774 これうけるしネタとして面白い
何故かって
>>774 の質問を「Cygwin + MinGW + GCC 相談室 Part 5」なんてスレッドに投稿してて、
それがすでに答えになってるからね。
つまりはマルチポストなんだろう、ということはわかるが、そうじゃないとしたら面白い
>>785 欲しいものだけ入れたいならUNIX-like toolsのような個々のコマンドの移植版を
必要に応じて入れるってのが普通なんじゃないの?
そもそも現時点で Cygwin の gcc-4 をインスコするのは、
とくに
>>774 にとっては地獄のような難易度だろうな。
せんせーが持ってる Cygwin のインストールキット一式をコピーさせてもらえ!
legacyすなわち1.5を見つけるのが一苦労。setup-legacyにて出てくる
エイゴのコワイ文言にひるむ。あげくのはてはこのスレじゃなかった板に再び爆撃。
792 :
785 :2010/12/17(金) 18:47:12
レスどうもです MinGW+MSYSというのがちょうどいい感じだったので導入しました
UNIXコマンドのいくつかを利用し始めると、だんだん別のが使いたくなって、 結局、Cygwin入れといたほうがいいということもある
Cygwinは見た目がダサい
折角なら andLinux 入れちゃえば?
ナイスで素敵な林檎にしなさい
ナイスで素敵な林檎にしなさいですね
798 :
デフォルトの名無しさん :2010/12/19(日) 13:08:22
gcc-4.5.2
cygwinでいらない機能だけアンインストールするのはどうすればいいですか?
setup.exeから指定
803 :
759 :2010/12/22(水) 22:36:46
私はeclipse 向いていないかもしれない 取りあえず、msys 1.0.10 を入れてTDMが早いのを確認したので そのまま、試行錯誤の末、Europaにpleiades-all-in-one-cpp-jre_20080303.zipを上書きして 何とか実行可能が動くところまではいったんだが -finput-charset=cp932 -fexec-charset=cp932 を設定しないと動かないプログラムを抱えていて、設定の仕方も分からないのでついでだから makefile プロジェクトを試すと org.eclipse.cdt.internal.core.index.IWritableIndex.getPrimaryWritableFragment()Lorg/eclipse/cdt/internal/core/index/IWritableIndexFragment; という内部エラーが出てなかなかそれ以上前に進めない。 eclipseの設定自体誤っているのでしょうか? 夜の1、2時間しかなかなか時間が取れないものでなかなか色々試せない
cygwinにはTDM GCCがないから古い環境でしか できないんですか?
低レベルな質問で申し訳ないんだが、CDTで 実行可能のプロジェクトで-finput-charset=cp932 -fexec-charset=CP932 などの コンパイルオプションは、どこで設定できるのでしょうか シンボルの設定箇所しか見当たらない。探し方が悪いのでしょうか?
探せばある。
MSYS+MINGW=CYGWIN ですか?
いいえ違います
えっ・・・・
POSIX 互換レイヤを用意してその上に Unix 由来のソフトウェア群 (コンパイラ等の開発ツールも含む) を載せたものが Cygwin 。 互換レイヤを指して Cygwin と云うこともある。 Unix と Windows の差は互換レイヤで吸収するので移植は簡単だが、 互換レイヤを経由するので若干パフォーマンスが低下する。 特に I/O 関連は性能の低下が著しい。 Mingw は GCC を Windows で動かせるようにしたもの。 GCC を使うにあたって最低限のツール類も含んでいる。 Msys は Mingw に加えて Unix Like なツールを移植したものとかのパッケージ。 Mingw や msys は互換レイヤを使わないので移植の際は面倒な部分が多いかも。
msysはcygwinからのforkだろ
msys+mingwはAutotools(configure, make, etc...)を使うための最低限の環境。 Cygwinだと大げさすぎるとかPOSIXレイヤに依存しないとかいう時に便利。 あと、Cygwinの互換レイヤのライブラリがGPLなんだよね。
pathの扱いがどれもこれも違いすぎて
インストーラで普通にインストールしたらサーチパスにカレントディレクトリが入ってて 某言語処理系のビルドのときにハマった。 いらんことするなと小一時間問い詰めたい。
msysがダウンロードできる場所がわかりません。 一杯ファイルがありすぎてどれかわかりません。
MinGWのgrepで、UTF-8でエンコードされているテキストファイル(日本語を含む)をgrepすることは、今可能でしょうか。MinGW-shellでやってみたのですが、うまくいきませんでした。
818 :
デフォルトの名無しさん :2011/01/03(月) 09:36:38
CCとかって定義されていないとおもうんですけど linuxとかだとできるんですか? 全然分かりません教えてください。
>>817 mingwはUTF-8対応していないのか?cygwinの1.7以降なら特に問題ないが
mingw-get-inst-ほげほげでmsysがいれられない?
cygwinて標準installだと当たり前のごとく使うコマンドがぼろぼろ抜けちゃうよね。 んで、面倒なんで全部にすると入れるのに時間が掛かる。 標準と全部の間にもう少し選択肢を入れてもらえないかと思う。
まるで標準と全部以外に入れられないかのような言い草だなw
>>822 MSYSの公式ホームページによると
msys1.0.0.11をいんすとーるしてから
msys coreとかをコピーするみたいなことかいてあるんだけど
全然意味わかりません。
最新のバージョンだとmingw getみたいなプログラムつかうんでしょ。
もっと詳しく教えてください!!
827 :
デフォルトの名無しさん :2011/01/07(金) 13:46:59
msysのbinフォルダーは環境変数に入れて ドスプロンプトから使えるようにしてもいいんですか?
それが普通の使い方 そして最終的にCygwinに落ち着く
スレ違いならスルーして下さい。
MinGwを使っておりますが
http://keicode.com/winprimer/wp12.php のプログラム(106行あります)を
gcc -o sample.exe sample.cpp -mwindows
とコンパイルすると
simple2.cpp: In function 'int WinMain(HINSTANCE__*, HINSTANCE__*, CHAR*, int)':
simple2.cpp:22:14: warning: converting to non-pointer type 'UINT' from NULL
simple2.cpp:47:7: warning: passing NULL to non-pointer argument 1 of 'HWND__* Cr
eateWindowExA(DWORD, const CHAR*, const CHAR*, DWORD, int, int, int, int, HWND__
*, HMENU__*, HINSTANCE__*, void*)'
ってwarningが出ます。実行はできます。
VC++では正常にビルドできます。
mingwの設定に何か問題あるのでしょうか。
はじめてwinmain関数…というかwindowsプログラミングをします。
あ〜 ものすごい長い間悩んでいたのに何か私の使い方が 間違えてるっぽいことがわかりました。 何がいけないのかまだはっきりわかりませんがもう少し悩んでみます。 スレ汚しすいません。
>>826 mingw-get-inst-ほげほげ.exeを起動して
select componentで
MSYS Basic System
を選択すればいいのでは?
832 :
デフォルトの名無しさん :2011/01/09(日) 14:03:02
巷に売ってるLinuxネットワークプログラムの類の本は、Cygwin+GCCでいけますか?
いけてます
cygwinフルダウンロードで2ギガ近くあるな。
>>834 そもそもフルダウンロードするような類のものじゃないからいいんじゃね?
わからないひとはだまっててください
その話もう終わってるから
cygwinをフルインストールするやつは相当アホウ。
>>835 それには、本家MINGWが入っているのですが、どうやってそれを外すのですか?
843 :
842 :2011/01/13(木) 11:25:25
すいません。自己解決しました。 削ったら動きました
cygwinについて調べてみた。違うところあったらおしえて。 cygwinはlinuxのアプリケーションを実行することは出来ない。 cygwinにあるautoconfigとautomakeをwindowsで使えば linux用のソースコードをwindowsの実行ファイルとしてコンパイルできる。 ただしcygwinのダイナミックライブラリーが無いと実行できない。 Msysを使えばダイナミックライブラリーがなくても実行できるが コンパイルできないソースコードがある。
× autoconfig Msys ○ autoconf MinGW
x ダイナミックライブラリー
cygwinについて調べてみた。違うところあったらおしえて。 cygwinはlinuxのアプリケーションを実行することは出来ない。 cygwinにあるautoconfとautomakeをwindowsで使えば linux用のソースコードをwindowsの実行ファイルとしてコンパイルできる。 ただしcygwinのダイナミックリングライブラリーが無いと実行できない。 Msys+MinGWを使えばダイナミックリンクライブラリーがなくても実行できるが コンパイルできないソースコードがある。 posixを使わなければ絶対コンパイルできる。
×ダイナミックリングライブラリー ×posixを使わなければ絶対コンパイルできる。
cygwinのgccの標準ライブラリーはposixを使っているので cygwinでコンパイルしたソフトはどんなソフトでもダイナミックリンクライブラリーが必要である。 よってcygwinではGPLのソフトウェアしかつくることができない。 MinGW+M-SYSならGPL以外のソフトウェアを作ることが出来る。
850 :
デフォルトの名無しさん :2011/01/15(土) 11:21:30
windowsなバイナリを作りたい時はmingw系を使う unixなバイナリがほしい時はcygwinを使う でしょ
標準ライブラリーでもダイナミックリンクライブラリー必要?
必要 cygwin-gcc使った場合は、HelloWorldですらcygwin1.dllとcyggcc_s-1.dllを要求される
単なる標準入出力でさえ Windows と POSIX の実行モデルは違う。 そもそもプロセスの生成からエミュレートが必要なので、 Hello World どころか何もしないバイナリでも必要だよ。
854 :
デフォルトの名無しさん :2011/01/15(土) 16:01:42
実行時の初期化部分がcygwin1.dllにあるんだから、依存するのはしょうがないでしょ windowsはmsvcrt.dll
855 :
デフォルトの名無しさん :2011/01/15(土) 16:13:49
code::blocks
×windowsは
昔あった-mno-cygwinて無いのかな
858 :
デフォルトの名無しさん :2011/01/15(土) 19:51:42
普通にあるよ
>849 ×よってcygwinではGPLのソフトウェアしかつくることができない。 cyggcc_s-1.dll (gcc ランタイム) も cygwin1.dll (Cygwin ランタイム) も例外条項がついてる。 cygwin が OSI 認定オープンソースライセンスであることを要求するのでオープンソースライセンスで ある必要はあるけど GPL である必要はない。 >857 >858 gcc-3 にはあるけど gcc-4 にはないので代わりに MinGW クロスコンパイラを使う。
DLL依存はGCCだけ関係するんだから M-sys+minGWじゃなくてcygwinのGCC以外のツール+minGWが最強なんじゃないのか?
cygwinでconfigureとか走らせると死ぬほど遅いし どうせmingwターゲットでクロスコンパイルするならLinux上でやったほうがいいんじゃね Windows機なら、VirtualBoxでもいい cygwinよりはマシだと思う
それ言い出したらLinuxでMinGWを使うのが最強ってことになり実際そうである
>>862 そうだよね
GNU系のツールセット使うんなら、ファイルシステムやshell系のツール等が
Unix-likeでないと色々不便
cygwinでは擬似的にそれを達成できるけど、forkやファイルアクセスが非常に遅いので
プロセスを大量に生成しコンパイルするmakeのような作業に不向き
ということで、早々にLinuxでクロスコンパイルがベストという結論になったよ
colinux
ディストリによってはmingw系のパッケージが充実してるし
colinuxってx86のみじゃなかったっけ? cygwinもだけど、cygwinはただのユーザモードアプリだからAMD64でも動くわな いまだとVirtualBoxのほうがいいんじゃない
andlinux BOW
868 :
デフォルトの名無しさん :2011/02/01(火) 00:41:41
ふう
Cygwinコマンドのcatというコマンドボタンを cygwin画面で使いたいんです。 cat (option)[file name]が形式何ですか、file name=ten.txtとします。 cat option ten.txt としたんですが、エラーが出ました。 optionって何ですか?optionコマンドってあるんでしょうか?
すいません、質問取り下げます。
cygwinでsshd立てたんですが、接続してきた人がcygwinの外に出られないようにすることって可能ですか?
よく知らないけどファイルの所有権を sshdを立てるユーザだけ除外すればいいんじゃないの
プログラミング無関係
__stdcall __cdecl じゃなくて?
#define reserved_stack_size 8000h よ〜わからんけど、ここをいじるんじゃないの?
TDM版MinGW4.5.1、なんか重いなぁ・・・。
mingw-get-inst-20110211.exe で、MinGWとMSysインストールしたら、 Aviraでウィルスが検出された。 C:\MinGW\libexec\mingw-get\gui.exe [検出] TR/Spy.9216.58 トロイの木馬です
ひとり脱落。
>>875 「VCから使う」ってのがよく分からんけど、別プロセスにして呼び出すんじゃダメなの?
難しいことをやろうとしてる自覚がない人には何言っても...
cygwin入れてgccのバージョンは3.44です。 std::tr1::shared_ptr使いたいんですが、何をincludeすればいいんですか? 'std::tr1'has not been declared でエラーなります。 g++ test.cpp -o test って感じでコンパイルしてます。
3にtr1は入ってない
>>884 cygwinをupdateしてgcc更新したらできました。
失礼しました。
インターネットに繋がってないパソコンでcygwinをアップデート すんにはどうしたらよいですか?
繋がってるPCでDownload Withoutで必要なもの全部落とせ 繋がってないPCに何とかして持って行ってfrom Local
890 :
デフォルトの名無しさん :2011/02/18(金) 18:20:49
インターネットに繋がってないパソコンでMinGWをインストール すんにはどうしたらよいですか?
まるちんこ
いいえ初めてです><
893 :
890 :2011/02/18(金) 19:47:36
get-instのオフライン用的なものが欲しいです
ないなら、自分でつくるとか? Installerのソース見れるでしょ
(´・ω・`)はあ
897 :
890 :2011/02/19(土) 00:12:33
申し遅れました>< ネカフェからダウンロードして持ち帰りたいんです
ネット環境を使わせてくれる友達探したほうが...
(´・ω・`)はあ
携帯で接続したら
(´・ω・`)テザリングするお金無いです
net環境ないのにプログラムやるのは辛いかもね
(´・ω・`)そろそろ教えて下さい
mingwなgccが使いたいなら、tdmを落とせば、としか...
tdm最強 俺大好き
guile 2.0 が出たので mingw でビルドしようとしました。 すると libunistring が無いのでインスールするようにとメッセージが出ました。 configure: error: GNU libunistring is required, please install it. config.log を見るとこういうコマンドでチェックしようとしたようです。 configure:12953: gcc -std=gnu99 -o conftest.exe -g -O2 conftest.c -liconv -lunistring >&5 Mingw の gcc の場合、この -liconv と -lunistring の順番が逆でないと依存関係が解決できないのですが、 コマンドライン引数の順序を制御することは出来るでしょうか? ちなみに libiconv も libunistring も静的ライブラリとして用意しています。
自己解決。 こうやったらなんとかなりました。 LIBS="-lunistring -liconv" ./configure --prefix=/c/guile --disable-shared ちょっとダサい方法ですが、なんとかなったのでまあいいやという感じで。
と、思ったけど guile 2.0 はまだ Mingw 対応は充分じゃないみたいだね。 どうにかちょっとした修正でなんとかしようと mmap をのりきったと思ったら今度はネット関連が… そんなこんなで結局ビルドはあきらめたのでした。
初心者です MinGWを使えばWindows上でLinuxで動くプログラムを作れますか?
質問の意味がわかりません
912 :
910 :2011/02/22(火) 20:04:32.35
Windows上でMinGWを用いてコンパイルしたプログラムはLinux上で動きますか?
913 :
910 :2011/02/22(火) 20:07:40.36
すみません、訂正します Windows上でMinGWを用いてコンパイルして動作したプログラムのソースコードはそのままLinux上に持って行ってもコンパイル可能ですか?
MinGWで動作しLinuxでコンパイルできないプログラムも存在しえます 例えばMinGWではWindowsAPIを呼ぶことができますがLinuxではWindowsAPIを呼べません
915 :
910 :2011/02/22(火) 20:31:41.83
WindowsでLinux向けのC/C++のコードを書いていく上で、 Linuxでもコンパイル可能なソースコードだ、という保証を得るには何ができていればいいんでしょうか? 例えばCygwinのgccをEclipseから利用して、 それでコンパイルできていればLinux上でもコンパイル出来ますか?
>>915 Windows上でLinux動かして(colinuxとかvmwareとか)そこでコンパイル&実行するのが手っ取り早いんじゃね
>例えばCygwinのgccをEclipseから利用して、
C/C++の文法チェックならそれで十分だけど、ライブラリの依存関係に関しては全く役に立たない。
WindowsとLinux両方に存在するライブラリ「だけ」を使わないといけないから。
クロスコンパイル環境を構築するのはたいへん面倒くさい作業なので、
>>916 の言うような仮想マシンを用意する方法に一票。
>>915 どこから保証を得たいのですか?
Cygwin も gcc も Linux もそれ自体は何も保証しません。
あるがままのものとして提供されるのみです。
(仕様は存在しますが。)
あなたが書くソースコードについてなんらかの保証を与えるのはあなたの責任です。
POSIXに規定された物しか使用しなければ99%くらいは保証できるんじゃね まぁLinuxがPOSIXに準拠してるって保証もないが 一応どっかの会社がUNIX認定を取ったことあったよね?
保証とは関係ない話だけど、逆の発想したほうが上手くいくこと多いような Linuxで動かすために書いたものをWindowsでも動くようにするためには・・・って感じで
cygwinはnewlibベースだからね。 こまかい違いをわかってないと苦労するだけでしょ。
WindowsでMinGWを使って書いたQtのソースは Linuxでコンパイルしたらそのまま動きました
>>913 mingw cross 用の gcc と binutils を持ってくれば問題なくコンパイル可能だよ。
ちなみにウチ(f12)だと
mingw32-runtime
mingw32-gcc-c++
mingw32-cpp
mingw32-filesystem
mingw32-binutils
mingw32-gcc
mingw32-w32ap
生成したバイナリは Win32 上でしか動作確認ができないことは言うまでもない。
あと、ソース中に #include <Windows.h> とかあったら発狂してくれ。
LinuxネイティブがターゲットならLinuxでやれよって
linuxっていってもいろいろあるでよ。archの違いもわかってないようだけど...
linuxが何かわかってない奴が多いな。 linux=コア。 コレくらい分かるよな。 cygwinのコア=linux。 これ常識。
面白いと思って書いてるんだろうなぁ
えっ、まさか面白そうに見えた? 全然そんなつもりで書いてないんだけど。 逆にそういうことを書かせたと言うことは、 心の中では面白いと思ったんだろうな。 それを認めたくないからそのようなレスをしたと・・・ 最後に、見透かされてしまって逆上しないでね。
Cygwinでssh-agentとkeychain使ってcronでssh接続を試みようとしてるのですが Permission denied (publickey).と出て接続できません。 手動だと接続できるので多分cronでkeychainが使えてないっぽそうなのですがどうすればいいのでしょうか? ググってみると source ~./keychain/$HOSTNAME-sh でcronでもkeychainが有効になると書いてあったのでやってみたのですが接続できませんでした。 ご教授願います。
>>930 cron で keychain を使うという発想がそもそも間違ってると思われるので
新しくフレーズなしの cron 専用秘密鍵公開鍵ペアを作った上で command= とかで制限付けた authorized_keys のエントリ作るのがいいと思う。
ってここじゃスレ違いだった、ごめん。
933 :
デフォルトの名無しさん :2011/02/24(木) 21:16:20.23
MinGW全く知らないんだけど MinGWシェルから何かmake installするときって export INCLUDE_PATH=/usr/local/include とかのパスは"C:\MinGW\include"とかになるの? それとも"C:\MinGW"がルートになって/include でいいとか?
934 :
933 :2011/02/24(木) 21:21:03.77
自己解決しました
935 :
930 :2011/02/25(金) 13:15:01.29
>>931 スレ違いでしたか、すいません。
ありがとうございます。フレーズなしでcommand制限掛けるという発想はありませんでした!
ちなみにこういった質問はlinuxの質問系スレのほうがよかったでしょうか?
今後のために出来れば誘導お願いします。
>>935 UNIX板にCygwinスレあるでよ
URLは今わからんので自力で探してくれ
Cygwin って Unix 板なのか。 なんか変な気がするなぁ。
940 :
930 :2011/02/25(金) 19:51:14.96
UNIX板だったのですね みさなんありがとうございます!
えくりぷすスレで聞いたら誘導されたのでこっちで質問します。 Eclipse3.5.2+CDT+mingwでC++使ってるんですが、メモリリークの検出はどうすればできますか。 具体的にはVisualStudioの_CrtSetDbgFlag()みたいなやりかたってありますか。
Mudflap や valgrind を使えばいいと思うよ。
Windowsでvalgrindは無理だろう
valgrindはWinダメでmudflapはmingwじゃ使えなかった(´・ω・`)
リーク検出くらいやっつけで作っちゃいなYO
ダブルクリックでシェルスクリプトを使うようにできませんか?
できます
ありがとうございます。 やり方はわかりませんが出来ることがわかってよかったです。
環境、ターゲットは、win32api / TDM's minGW32 です。 winsock2 / iphlpapi.h の ULONG WINAPI GetAdaptersAddresses(ULONG,ULONG,PVOID,PIP_ADAPTER_ADDRESSES,PULONG); をリンクしたいのですが、インポートライブラリがみつからないみたいです。 mingw32-gcc -mwindows -o sss.exe sss.o maindialog.o debugout.o wmalloc.o sss.cof f -lwsock32 maindialog.o:maindialog.c:(.text+0x58): undefined reference to `GetAdaptersAddre sses@20' maindialog.o:maindialog.c:(.text+0xda): undefined reference to `GetAdaptersAddre sses@20' maindialog.o:maindialog.c:(.text+0x21c): undefined reference to `getnameinfo@28' どのライブラリにはいっているのでしょうか?
API名でぐぐれば1つめのサイトに出てるのに何故調べようとしないんだろうか
>>951 MSDN で OK とは知りませんでした。ありがとうございました。
wsock32 の立場は・・・
Cygwin上のgccでプリプロセッサをかけて 下のようなソースコードを見たいんですがどうすればよいですか? gcc -E -P a.c > a.txt とか色々試してるけど、ヘッダファイルが展開されてしまいます。 gcc -E とかの出力から自分で加工するしかないでしょうか? --- a.c #include <stdio.h> #define MAX(X,Y) ((X)>(Y)?(X):(Y)) int main() { printf("%d\n", MAX(10,20)); return 0; } --- ほしい出力 #include <stdio.h> int main() { printf("%d\n", ((10)>(20)?(10):(20))); return 0; }
>>954 sed 's/^#include/include/' a.c | gcc -E - | grep -v '^#' | sed 's/^include/#include/'
956 :
954 :2011/03/24(木) 20:47:32.30
>>955 ありがとうございます。
これでやりたいことができます。
基本的な図形などの描写をプログラムを兼ねて勉強したいので Xwindowsを利用したいんですが、Windows7上では無理ですか? cygwinも使ってます。Unixをダウンロードしないとだめでしょうか?
基本的な図形などの描写をプログラムを兼ねて勉強したいので Xwindowsを利用したいんですが、Windows7上では無理ですか? cygwinも使ってます。Unixをダウンロードしないとだめでしょうか?
>>959 Xwindowsはwindows7でよいと思います!!
最近は Xwindows ってなんですかとか言う人居なくなったの?
Cygwin使ってます。 Cライブラリのパスを確認するシェルコマンドってどうしたらいいですか? 例えば"stdio.h"とかprintf関数のパスを調べたいです。
>>963 gcc -print-search-dirs
>>964 こうなりました・・・orz
gcc-print-search-dirs: Command not found.
何故でしょう。
空白
>>966 gcc: print: No such file or directory
gcc: search: No such file or directory
gcc: dirs: No such file or directory
gcc: no input files
となりました・・・
正確に書き写せよw gcc と空白と -print-search-dirs だ
gcc: unrecognized option `-printf-search-dirs' gcc: no input files となりました・・・orz /usr/include/stdio.hなんですよね? printfとかはどこにあるんですか?関数はstdio.hの中に含まれてるんですか?
わざとやってるだろお前
正確に書き写せよ糞
>>969 ひょっとしてそれはギャグでやってるのか?
-printf-search-dirs じゃない!! -print-search-dirs だっつの。
>>954 をコピペすればいいだけなのになんでそんなアホなやりとりをするのか小一時間問い詰めたい。
973 :
デフォルトの名無しさん :2011/04/05(火) 00:14:25.00
>>972 まじですいません。
やっと出てきました・・・
20行くらい出て来ました・・・何がなんだか。
Dカップなら許す。
>>973 その libraries:= 以下に書いてあるのが、Cのライブラリのパスだよ
gcc はそこに書いてあるパスを先頭から順に辿って目的のライブラリを探すよ
printf の場合は libc.a というライブラリに入っていて、パスを辿っていくと /usr/lib に見つかるよ
でもまぁそれはただのインポートライブラリで、実際のコード自体は共有ライブラリの方に入ってるよ
cygwin の場合は /bin/cygwin1.dll っていう共有ライブラリを使うよ
objdump -t /bin/cygwin1.dll ってやればシンボルの一覧が見られるから、その中に printf も入ってるのがわかるよ
objdump -d /bin/cygwin1.dll ってやれば中身を逆アセンブルすることもできるよ
objdump をインストールしてない? setup.exe 実行してパッケージの一覧から binutils を探してチェック付けとくといいよ
いつも #include している <stdio.h> は、察しの通り /usr/include にあるけど、 printf の宣言が書いてあるだけで、中身は無いよ
977 :
デフォルトの名無しさん :2011/04/05(火) 08:04:52.03
>>975 ありがとうございます!!
ちなみにCygwin1.dllは入ってません・・・
じゃあそれはcygwinじゃないな
979 :
デフォルトの名無しさん :2011/04/05(火) 19:00:16.95
>>978 Windows上でCygwinのホームディレクトリから実行ファイル開こうとすると
Cygwin1.dllがないので〜って出てくる。
パスが通ってないだけだったり
他に話題がないからってバカに構うなよ