1 名前:デフォルトの名無しさん [2008/09/13(土) 00:38:02 ] Windows上で動作するフリーの開発環境 CygwinとMinGWに関する相談スレッドです。 過去スレ: cygwin + mingwn + gcc 相談室 Part3 pc11.2ch.net/test/read.cgi/tech/1177944767/ cygwin + mingwn + gcc 相談室 Part2 pc11.2ch.net/test/read.cgi/tech/1126103347/ cygwin + mingwn + gcc 相談室 pc8.2ch.net/test/read.cgi/tech/1058134693/ 関連サイト: Cygwin www.cygwin.com/ MinGW www.mingw.org/ 関連スレッド: GCCについて part8 pc11.2ch.net/test/read.cgi/tech/1192201659/ 【激遅】AppleGCC【絶望】 pc11.2ch.net/test/read.cgi/tech/1173267844/
232 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 12:27:11 ] cygwinのファイルI/Oは遅いよ。ストリームI/Oをバッファ入出力の段階でシミュレートするのではなく 関数レベルでシミュレートしているようで、fgetc()をループで回すだけでも結構差が出る。 >>228 iccは高性能だけど、高機能と言うのはどういう尺度? gccを否定する気はさらさらないけれど、最近のx86系CPUを使いこなすには力不足なのは否めない。
233 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 13:04:58 ] msysをつかえばいいじゃない。 大概のことはmsysでカタがつくでしょ。
234 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 13:10:53 ] msysはメモリーリークが酷いから嫌
235 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 14:02:34 ] >>234 kwsk
236 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 21:06:45 ] >>234 がお漏らしプログラム作ってるだけっていう落ち
237 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 21:21:24 ] リークと違うけど、Qt4コンパイルしてて、なんのエラーも 出てないのに、mingw32-makeがエラーで止まる事ならあった。 Dwarf2でbuildしたgcc4.3.3が原因の可能性も高いが。 ああ、msys全然関係無かったねw
238 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 21:53:46 ] Qt4はメモリ4Gあろうがページファイル1G以上用意しないと確実にこけるね
239 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 01:00:40 ] MSYS+MinGWでMKVtoolnixコンパイルしてて、動くバイナリはできんたんだけどちょっと気になってることがある。 公式で配布されてるバイナリにはregex2.dllがあるけど、自分のにはない。 何かのライブラリがスタティックリンクになってるんだろうけどどれかわからない。 名前からして正規表現だろうからboostかと思ったけどlink=sharedにしてコンパイルしてもそんなdllない。 何のライブラリか教えてください。
240 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 05:04:14 ] glibc gnuwin32.sourceforge.net/packages/regex.htm
241 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 11:27:42 ] APIを使わないDLL遅延バインドのやり方がわからん。
242 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 18:42:21 ] >>240 d でもこれ突っ込んでもやっぱりregex2.dllは使われないな。何でだろう…
243 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 21:25:45 ] >>241 なぜAPIを使うのがいやなの?
244 名前:239 mailto:sage [2009/03/02(月) 01:36:26 ] 公式のバイナリをDependency Walkerで調べてやっとわかった。 libmagicの依存ファイルだったのか。 libmagicはうまくコンパイルできなかったらバイナリ取ってきてたからそのせいか。
245 名前:デフォルトの名無しさん mailto:sage [2009/03/05(木) 18:41:39 ] ちょっと前に 「gccの4.x.x系は3.4.5よりもWindows環境への対応が悪い」 と聞いんだが、未だに悪いの? 俺が興味あるのはg++だけだが、g++に限ってもそう?。
246 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 05:19:57 ] 何をして対応が悪いといっているのか不明なのでなんとも・・・
247 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 11:34:41 ] MinGW sourceforge.net/project/showfiles.php?group_id=2435&package_id=24963&release_id=46827 ここから src 以外の tar を全部ダウンロードしたんでしけど、 解凍したら同じ名前のファイルが重複しているんです。 たとえば bin/bash.exe なら bash-3.1-MSYS-1.0.11-1.tar.bz2 bash.exe 607,744 バイト msysCORE-1.0.11-20080826.tar.gz bash.exe 911,646 バイト の両方に入っています。 いったいどちらの bash.exe を取ればいいのでしょう? ほかにも tar.exe などなど、重複がいっぱいあります。 どれを入れればいいんですか? ヒヨコのオスメスみたいに、ひとつひとつ手作業で選別せにゃいかんのですか?
248 名前:デフォルトの名無しさん [2009/03/06(金) 11:46:55 ] バージョン1.0.11 と バージョン1.0.11-1 のサイズが違うと何か問題ある?
249 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 12:33:53 ] 知らないならレスしないでください
250 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 13:32:28 ] だから、リリースバージョンが違うものなんだから、中身が違って当然だろうが。 これで意味が通じなかったら、Technological Previewバージョンを各ソフトごとにとってくるなんてやめて、 おとなしく安定バージョンをパッケージで入れろ。
251 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 13:35:06 ] だから知らないならレスしないでください
252 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 13:35:57 ] ほかに誰か知ってる人はいませんか?
253 名前:デフォルトの名無しさん [2009/03/06(金) 14:06:09 ] >>251 , 252 くだらない悪ふざけはν速にでも行ってやれや。
254 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 15:32:21 ] 質問: どちらが新しいんですか? 答え: サイズが違うと何か問題ある? 頭おかしいの?
255 名前:デフォルトの名無しさん [2009/03/06(金) 15:45:13 ] だから、リリースバージョンの見方もわからんバカは 安定版のパッケージを入れろよ。 バージョンわからん奴がTechnological Previewをいれて何の役に立つんだよ。
256 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 16:18:23 ] >>254 とっとと失せろ、ゴミクズ
257 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 17:47:47 ] ニートタイムに喚くなよ 見苦しいな
258 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 18:21:19 ] で? けっきょく、どれが新しいかわからないんだろ? 知らないならレスすんなよ。 あんたに質問したんじゃねーーーーーーーよw
259 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 19:01:39 ] ファイルの日付も読めない奴に使える訳もないな
260 名前:デフォルトの名無しさん [2009/03/06(金) 19:39:43 ] >>258 瞬時にリリースバージョンくらいわかりますが、何か? バージョンを読みとってるからこそ>>248 なのだが。 お前は、自分が書いたものと248をみてもまだ理解できないわけだろ? だから>>250 の安定版を入れろと言うことなんだが。 Technological Previewってのは人柱用なんだぜ。 なぜあえてこれを入れたいんだ? バカだからか?
261 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 20:21:43 ] わかったわかった。俺が悪かった。ここはひとつ、俺がオトナになろう。 で、リリースバージョンの見方をおしえてください。おねがいします。
262 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 20:23:22 ] 事情を説明いたしますと、 安定版が安定しないから、試しに全部新しいのにしてみようと思っただけです。 それで安定するか、しないか、検証してみるだけです。 「問題の切り分け」 を死体のです。
263 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 20:33:45 ] >>261 逆に煽り返されたりして、出来もしないくせに下手なことしないほうがいいよなぁ
264 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 20:46:50 ] >>262 おとなしくVC++いっとけ
265 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 20:55:24 ] ぜんぶ 1.0.11 なので、どれが新しいのかわかりません。 でも確実に、中身が違うんです。
266 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 21:03:19 ] すこし分かりかけてきた 1.0.11-1 1.0.11-20080826 これのどっちが新しいか。それさえ分かれば・・・ 1 と 20080826 って、どっちが新しいんですか?
267 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 21:14:49 ] なんか迷宮に迷い込んでいるような気がするなぁ・・・ 問題の切り分けをするのであれば、安定版のどの部分が安定 しないのか切り分けるのが先では無いだろうか。 全部最新版に差し替えて安定したところで、どの部分が問題 だったかは結局分からないのでは。
268 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 21:20:20 ] パッケージとバラを同じ項目においておきながら、 バラの方が古いなんてアホな管理をするやつがいるとも思えんが。
269 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 23:37:06 ] つーかさ、不安定があるのなら、どういう不安定なのか書けよな〜 他のユーザーのためにもなる。
270 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 00:07:40 ] 俺は MSYS のデバッグしてんじゃねぇぞ。 どの部分が問題だったかは結局分からなくても 安定して使えさえすればOKなんだよ。
271 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 00:43:26 ] >>270 だからよぉ、他人にもどう不安定か情報出せよ。 自分だけ情報を得られたらそれで桶かよ。 マサにカスだな
272 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 00:46:02 ] >>270 問題の切り分けをしたいとか言いながらちゃぶ台ひっくり返すし、 ここまでMSYSが問題なんだとは一言も話をしていないし、 しかも大人のふりしたと思ったらまた退行しているし。
273 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 01:34:15 ] >>271-272 ゴミの相手するなよ
274 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 01:48:09 ] 新しいのと古いのと見分け方を聞きたかっただけなんだが・・・
275 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 01:48:41 ] もったいぶらずに教エロ
276 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 11:16:12 ] もったいぶらずに着エロ ttp://blog-imgs-27.fc2.com/a/p/p/appetite/20050216122706.jpg
277 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 14:50:19 ] >>276 ありがとうございます。おかげさまで解ケツしました。
278 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 22:53:09 ] g++ってワイド文字列環境はまともになってる? g++ (GCC) 3.4.5だと、 std::wcoutって何だか分かりません見たことも聞いたこともありません 的なコンパイルエラーがでちゃうんだよね。
279 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 01:43:37 ] >>278 今は無理。まともにサポートできる見通しが立たないから宣言自体が無効化されてる。 今公開テスト中の Cygwin 1.7 には wchar_t 関連の C 標準関数がひととおり実装されてるんで、 その上で動く g++ なら使えるようになるかもしれない。
280 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 03:23:49 ] >>278 この4.3.3使え ttp://www.tdragon.net/
281 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 08:30:19 ] そもそも何でMinGWって最新のGCCを同梱してないの? >>279 ふーん、まだダメダメなのか。残念だ。 >>280 TDM/MinGW Installer 1.902.0 Released 2009-02-28 Bundled Installer: [tdm-mingw-1.902.0-f1.exe] (23.8 MB) Includes C and C++ SJLJ packages from GCC 4.3.3 TDM-1, plus binutils (2.19.1), mingw-runtime (3.15.2), w32api (3.13), mingw32-make (3.81-20080326-3) and gdb (6.8-mingw-3). ってやつか?すげぇなコレ。 いわゆる人柱版ってことかな?
282 名前:デフォルトの名無しさん [2009/03/14(土) 17:36:13 ] UNIX/Linux初心者です。 会社でfork/FIFOを使用した開発をやっていて家でもお勉強できるようにとCygwinインストールしました。 でもうまく動いてくれません。chi 3-25で、Device or resource busyが発生します。 Cygwinの仕様でしょうか? // プロセス作成 p = fork(); if(p == -1) exit(1); if(p > 0) { sprintf(fname_p, "%s-%d-%d", FIFO, p,1); } if (p == 0) { p = getpid(); //子側FIFO名前 sprintf(fname_c, "%s-%d-%d", FIFO, p,1); //親側FIFOのメーク待ち while(1){ if(access(fname_c, F_OK) == 0) break; sleep(1); } //読み込みパイプ開 fifo_cr = open(fname_c, O_RDONLY); if(fifo_cr == -1){ printf("chi 3-25 error open fifo\n",fname_c); err_no = errno; perror("err_no"); exit(6); } 省略
283 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 18:40:21 ] >282 質問の答えじゃないが、fork するんなら pipe(2) 使えばループで待つ必要もないんじゃないの?
284 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 19:52:06 ] >>282 質問の答えじゃないが printf("chi 3-25 error open fifo\n",fname_c); err_no = errno; これはダメだろう常識的に
285 名前:デフォルトの名無しさん mailto:sage [2009/03/17(火) 11:38:28 ] 質問の答えじゃないが、popen()で事は足りないのかな?
286 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 07:03:44 ] ファイルを先頭から順次読み込むプログラムで, 以下のようなものを書いたのですが,ファイルの途中なのにもかかわらずループを抜けてしまいます. (どうも0x1Aを読み込んだときにbreakがかかるようです.) for ( ; ; ){ c = fgetc(fp); if (c == EOF) break; /* 省略 */ } Linux上のgcc(2.95.3)でコンパイルした場合は正常に動くのですが, MinGW(5.1.4)だと前述したように,正常に動きません.(fgetcの仕様が違うのでしょうか) とてもくだらない質問に思えて恐縮なのですが,解る方がいたら教えてください.
287 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 07:55:26 ] fopenでtext modeでファイルを開くと、0x1aをEOF(=CP/Mの)と見なすから。 www.google.co.jp/search?q=fopen+EOF+0x1a
288 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 07:56:24 ] mingwのライブラリはVC仕様なので バイナリモードで開いてみては fp = fopen( path, "rb" ); // こんな感じ? # たしか Windows/DOS ではテキストモードで開くと 0x1a を # EOF として扱う仕様だったような気がする # unixはテキストモードはなし
289 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 08:33:39 ] >>287-288 素早い返答ありがとうございます. ご指摘のとおり,fopenのモード指定の問題でした. VC系だとテキスト/バイナリの区別がある,というのを初めて知りました. googleにもスバリ書いてあることだったようで,お恥ずかしい限りです.
290 名前:デフォルトの名無しさん [2009/03/22(日) 23:13:40 ] CygWinでgprofかけても時間情報が取れないのですがどうすればプロファイル取れる でしょうか。 g++のコードのプロファイルが取れる方法よろしくです。gprofて最近は使われてない?
291 名前:デフォルトの名無しさん mailto:sage [2009/03/23(月) 05:44:56 ] gccのバージョンによって、gmonのフォーマットが途中で変わってるので、 gccかgprofのバージョンを変えてみると良いらしい。MinGWもgcc3.4.5と 手元のgprofとの組み合わせではダメで、gcc4.3.2や4.3.3では取れるなあ。 これは古いgprofを試さないといけないのかな。
292 名前:デフォルトの名無しさん [2009/03/25(水) 21:09:34 ] >>291 CygWin/g++でgprof以外にプロファイル取るすべあるでししょうか? 最近の人はどうやってプロファイル取ってるの?
293 名前:デフォルトの名無しさん mailto:sage [2009/03/25(水) 22:50:40 ] >>291 横レスだけど情報ありがとう。 古い MinGW の gcc 3.2.3 + gprof 2.13.90 だと OK で 比較的新しい gcc 3.4.5 + gprof 2.18.50 だと NG なんで困っていた。 MinGW の binutils-2.18.50 にはバグがあって gprof が正常に動作しないらしい。 www.nabble.com/gprof-time-accumulation-problem-td19125108.html binutils-2.17.50 だと問題ないということなのでダウングレードして gcc 3.4.5 と一緒に試したところ、正しく統計情報が取れるようになった。
294 名前:291 mailto:sage [2009/03/26(木) 00:45:20 ] すっかり忘れてたけど、次の日動かしてみたら、MinGW 3.4.5とgprof 2.19、2.19.1での動作を確認した。 だから前回書いたことは、全くの見当違いでgprof 2.18.50だけの問題みたい。ごめんね >>292 おそらくだけど、プロファイラ自体を使ってる人が少なく、使ってる人も自前で gprofをbuildか、バージョンダウンしてる。
295 名前:デフォルトの名無しさん mailto:sage [2009/03/26(木) 07:02:43 ] まあ、わざわざMinGWでgprof使おうと思う人は少ないだろうなぁ。
296 名前:デフォルトの名無しさん mailto:sage [2009/03/27(金) 11:07:23 ] cygwin/mingwがターゲットになることは少ないので、gprofするのはLinux上になることが多いなぁ。私のところでは。
297 名前:デフォルトの名無しさん mailto:sage [2009/03/31(火) 03:34:28 ] test
298 名前:デフォルトの名無しさん [2009/04/03(金) 07:16:03 ] 質問です。PC-98のMS-DOS上でDJGPPとNASMとBorland C++ 3.1Jでプログラムを 組んでますが、たとえばHello, World!を作ってもDJGPP(GCC v4.3.2)では異常に 実行ファイルのサイズが肥大化します。動作もBCCでコンパイルしたものより 重いです。 DJGPPのFAQによると、「DJGPP(DOS版GCC)はメモリモデルにflatを用いており、 プロテクトモードで4GBまでのメモリを扱えるようにしています」とのことなんですが、 これが原因ですか?ちなみにHELLO.EXEを実行するにしても、DPMIサーバ(cwsdpmi.exe)が 必要という糞仕様です。開発マシンはPC-9801DA2(80386 20MHz + Cyrix 387コプロ; RAM 13.6MB; SCSI HDD 4.3GB; 緑電子SCSI-2ボード; NEC版MS-DOS 6.2)です。 HELLO.EXEのファイルサイズとコンパイル時間は BCC = 6.6KB ; コンパイル時間 = 5秒 DJGPP = 44KB ; コンパイル時間 = 2分近く NASM = 22Bytes ; コンパイル時間 = 3秒 (コンパイルオプションは、 A:\>bcc -ms -O2 hello.c A:\>gcc -Wall -O2 -s -fomit-frame-pointer -o hello.exe hello.c A:\>nasm -fbin -o hello.com hello.asm です) 異常な事態です。これはDJGPP(GCC)の仕様なんでしょうか!ご教示ください。 ちなみに同機能をDOSファンクションコールAH=09Hでフルアッセンブル実装した HELLO.COMはわずか22バイトですOrz K6-2 550MHz/64MB/18GBのX-Mateがあるんですが、 それでやっても処理系の差異は変わらないですよね?
299 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 07:20:27 ] 16bitコンパイラと32bitコンパイラで比較して何がしたいの?
300 名前:298 mailto:sage [2009/04/03(金) 07:26:38 ] × X-Mate ○ X-MATE どうしてもDJGPP(GCC4.3.2)だと44KB近くなってしまうようで、 三秒のウェイトを置くdelay機能も、GCCとBCCで同等のものがありますが、 BCC版は8KB程度、GCC版は48KBほどになり、気違いじみています。 やはりDOSファンクションコール AH=2CHでフルアッセンブル実装した DELAY3K.COMは、ファイルサイズが22バイトでCPU負担も全くありません (HELLO.COMは28バイトでしたすいません)。 Borland C++ v3.1Jは中古でオクで競って7千円で買ったので製品とはこういうものだと いわれればそれまでですが、ちゃんとstripもしてるのに、これ以上はGCCは無理ですか!?
301 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 07:39:15 ] たぶんこのスレにそんなマニアックなケース答えられる人はいないんじゃないかと。
302 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 07:59:25 ] DPMIはDOSエクステンダの下請けに過ぎず DJGPPのリンカはDOSエクステンダに相当するものをスタブとして取り込んでいるから出力ファイルが大きくなる
303 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 08:08:37 ] go32.exeが組込まれるんだっけ
304 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 08:09:50 ] 他にも即値やディスプレースメントが32bitで大きくなったり、アラインメントが32bitになったりで いくらでも16bitコードより大きくなる要素はある
305 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 08:18:41 ] んなもん、gccのバイナリがデカのは今も昔も変わらん。 go32とか関係なく vcとMingw gccではやはりバイナリサイズが全然違う。
306 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 10:13:49 ] >>298 そんな過去の鈍足PCを今のPCと較べても、全く意味がありません。 それとも、クロック周波数の20MHzという意味が理解できませんか? いずれにしても、鼬害です。レトロPC板にでもお帰りください。
307 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 10:25:40 ] 298 みたいな時空を超えた書き込みを 太鼓腹のオッサンがシコシコ打ちこんでると思うとキモイな
308 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 10:41:15 ] 同族嫌悪というやつですか?
309 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 11:25:52 ] PC-9801にMS-DOSとはまた懐かしいものを出してくるなあ
310 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 12:48:25 ] あんまり虐めてやるなよ
311 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 14:54:36 ] 古いものを好き好んで触るのは人の自由だと思うが 騒ぎ方がどうにもキチガイじみてキモいな
312 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 23:12:56 ] その3つを比べることに何の意味があるんだか… #とりあえず「DJGPPってまだあったんだ」とか思った
313 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 06:16:12 ] レトロPCを使ってる時点で処理効率など問題外なのだから 32bitコードなど中途半端にひよったものを使わずに 堂々と16bit縛りでいくべき
314 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 12:53:48 ] dosプログラミングはずっと無料版のLSI C86使ってたな。 farポインタとか懐しい。
315 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 15:03:43 ] >>300 7000円あるなら中古でWindows98の入ったPC買えるだろww
316 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 22:33:46 ] そうかなあ
317 名前:298 mailto:sage [2009/04/10(金) 04:12:14 ] >>315 その後、BCC v3.1J+TASMとか、NASM 2.06rc1で楽しくプログラミングしてます。 先日、皆さんのご指摘通り、32Bit Cコンパイラと16Bit時代のコンパイラを 比較する浅学さを自己批判しました。GCCはWinXPのPC/ATマシンで活躍してます。 自分は普通にCygwinのバイナリパッケージを使ってます。 あと、Borland C++ Development Suite 5.0Jというのを、CDだけ入手しました。 オクで\2,000でした。印刷物のマニュアルがないのがイタいですが、 Win95/NT3.51/DOS/OS/2対応の総括的位置付けのバージョンっぽいので、 おいおい試したいです…って、GCCと関係なさ過ぎたwすいませんww
318 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 16:37:09 ] すいません 質問下手かもしれないけどよろしいでしょうか? Cygwinのインストール時、boostも一緒にインストールすることができますよね? 私の場合はver(?)1_33_1なので/usr/include/boost-1_33_1/boost に主なファイルが展開されました。 次はcppファイルのコンパイルなんですが #include <boost/thread.hpp> ↑を含んだa.cppファイルをコンパイルする場合、 $ g++ a.cpp -I"/usr/include/boost-1_33_1/" -lboost_thread-gcc-mt といったコマンドで通りました。んで、 $ ./a.exe で一応exeファイルは実行できるんですが、生成したexeファイルはコマンドによる実行は有効のようで、 winからのダブルクリック起動だと 「cygboost_thread_gcc_mt-1_33_1.dllが見つかりません」といったメッセージがでます。。。 どうすれば改善できるでしょうか?多分boostの参照あたりも間違っていると思うんですが・・・ あんまりUNIXコマンドは詳しくないのでちんぷんかんぷんですw
319 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 17:21:34 ] >>318 $ cygcheck ./a.exe を実行してcygboost_thread_gcc_mt-1_33_1.dllの存在するディレクトリを調べて、 Windowsの環境変数PATHに追加する。
320 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 17:58:14 ] >>319 実行してみたけど無理でした・・・ そもそもboostを導入する方法はこれでよかったのでしょうか・・・
321 名前:319 mailto:sage [2009/04/12(日) 18:50:24 ] 正確に書いてくれ。「実行してみたけど無理でした・・・」はどうなったのかわからん。 1)cygcheckが実行できなかった。 1-1)cygcheckが見つからなかった 1-2)cygcheckが見つかったが、cygcheckの実行時にエラーが出た。 1-3)cygcheckが見つかり、cygcheckの実効でもエラーが出なかったが、cygboost_thread_gcc_mt-1_33_1.dllが見あたらなかった。 2)cygcheckが見つかり、cygboost_thread_gcc_mt-1_33_1.dllが存在するディレクトリも判明したが、Windowsの環境変数PATHの設定で 2-1) Windowsの環境変数PATHを設定する方法がわからない 2-2) Windowsの環境変数PATHを設定する場所はわかったが、PATHの書式を知らない。 2-3) Windowsの環境変数PATHをユーザ環境変数とシステム環境変数のどちらに設定すればよいかわからない。 2-4) Windowsの環境変数PATHをユーザ環境変数に追加したが、改善しなかった。 2-5) Windowsの環境変数PATHをシステムザ環境変数に追加したが、改善しなかった。 3) 他にもあるかもしれんが、エスパーするのに疲れたのでここまで。
322 名前:318 mailto:sage [2009/04/12(日) 19:01:03 ] check成功 ↓ cygboost_thread_gcc_mt-1_33_1.dllの場所が分かった 私の場合はD直下にcygwinフォルダがあるのでD:\cygwin\binにあった ↓ 環境変数PATH コントロールパネル→システム→詳細から 片方ずつと両方で3パターンで試しした。 両方とも変数名はPATH 変数値はD:\cygwin\bin;D:\cygwin\usr\bin; %PATH% ↓ 直らない いまここです 2-4 or 2-5ってとこです。。。
323 名前:319 mailto:sage [2009/04/12(日) 19:01:48 ] $ cygcheck -cd | grep boost boost 1.33.1-4 boost-devel 1.33.1-4 libboost 1.33.1-4 $ g++ -Wall -Wextra boost_exam.cpp -I"/usr/include/boost-1_33_1/" -lboost_thread-gcc-mt $ ls a.exe a.exe* $ cygcheck ./a.exe .\a.exe C:\cygwin\bin\cygboost_thread-gcc-mt-1_33_1.dll C:\cygwin\bin\cygwin1.dll C:\WINDOWS\system32\ADVAPI32.DLL C:\WINDOWS\system32\KERNEL32.dll C:\WINDOWS\system32\ntdll.dll C:\WINDOWS\system32\RPCRT4.dll C:\WINDOWS\system32\Secur32.dll
324 名前:319 mailto:sage [2009/04/12(日) 19:10:05 ] >>322 Windowsの環境変数にd:\cygwin\binを追加してから、 **新たに** Windowsのコマンドプロンプトを開いて「echo %PATH%」を実行し、 cygwinのパス(今回だとd:\cygwin\bin)が存在することを確認する。
325 名前:319 mailto:sage [2009/04/12(日) 19:14:04 ] 確認できました
326 名前:319 mailto:sage [2009/04/12(日) 20:36:56 ] >>326 じゃあ、次に、そのコマンドプロントで「ls --version」を実行してみる。 d:\cygwin\binにパスが通っていれば(= PATHの設定が正しいなら)、 下のようにlsコマンドのバージョン情報が表示されるはず。 ls (GNU coreutils) 6.10 Copyright (C) 2008 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by Richard Stallman and David MacKenzie. で、この状態でエクスプローラーから、さっきのa.exeを実行してみる。 もし「cygboost-thread-gcc-mt-1_33_1.dllが見つかりません。……」のエラーが出るようなら、 「Windowsをログアウト」「再ログイン」する(= explorerにユーザー環境変数を反映させる) ちなみに、「システム環境変数PATH」の方を変更したら、Windowsを再起動してから試すこと。
327 名前:318 mailto:sage [2009/04/12(日) 20:39:47 ] ええ!?再起動しないと駄目なのかい!?
328 名前:319 mailto:sage [2009/04/12(日) 20:50:50 ] Explorerに環境変数を反映させるには、Explorerプロセスの再起動が必要。 Windowsの環境変数はExplorerの親プロセスに設定される。しかし、それを子プロセスに反映するには、子プロセスを再起動する必要がある。 (これはWindowsだろうと、UNIXだろうと、MS-DOSだろうと、同じ)。 もっとも、今回はExplorerだからログアウト→ログオンで、行けそうな気がする。(面倒なので試してない) なお、Windowsサービス (ApacheとかPostgreSQLとか)に環境変数の変更を反映させるなら、Windowsサービスの親プロセスの再起動、つまりWindowsの再起動が必要。
329 名前:318 mailto:sage [2009/04/12(日) 20:52:35 ] やった!!できました!! 長い時間ありがとうございました
330 名前:319 mailto:sage [2009/04/12(日) 21:00:50 ] おめでとう。これで肩の荷が下りたよ。
331 名前:デフォルトの名無しさん [2009/04/27(月) 14:40:09 ] MinGW(gcc3.4.5)でSTLport5.2.1のビルドができない理由がやっとわかりました STLport5.2.0でMinGWのサポートは一旦打ち切りになっているようです 従ってSTLport5.1.7以前を使う必要があります それから少しファイルの修正が必要です 1. Open the file "stlport\stl\config\user_config.h" to uncomment the macro _STLP_NEW_PLATFORM_SDK. 2. Locate the following lines in file "stlport/stl/config/_gcc.h": # if defined (_STLP_NEW_PLATFORM_SDK) /* For the moment the Windows SDK coming with Mingw still mimik the old platform SDK. */ # undef _STLP_NEW_PLATFORM_SDK # endif then comment all these lines or replace them with: # include <w32api.h> # if (__W32API_MAJOR_VERSION > 3) || ((__W32API_MAJOR_VERSION = 3) && (__W32API_MINOR_VERSION >= 12)) # if !defined(_STLP_NEW_PLATFORM_SDK) # define _STLP_NEW_PLATFORM_SDK 1 # endif # endif 以上の修正でコンパイルできます std::mapを使うと__tmpが初期化前に使われているとか警告が出ますが 無視していますけどいいのでしょうか?
332 名前:デフォルトの名無しさん mailto:sage [2009/04/27(月) 14:41:35 ] なお上記の修正は次のFORUMから引用しました sourceforge.net/forum/forum.php?thread_id=3036652&forum_id=490891