1 名前:デフォルトの名無しさん [2007/04/30(月) 23:52:47 ] Windows上で動作するフリーの開発環境 CygwinとMinGWに関する相談スレッドです。 過去スレ: 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について part7 pc11.2ch.net/test/read.cgi/tech/1145357824/ 【激遅】AppleGCC【絶望】 pc11.2ch.net/test/read.cgi/tech/1173267844/
692 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 18:53:08 ] その前に日本語
693 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 01:38:33 ] mallocのインターポジショニングがしたいのですが 以下のようにやってもうまくいきません。 環境はWindowsVista+cygwinでgccは3.4.4です ---main.c--- #include <stdlib.h> #include <stdio.h> int main(void) { printf("start\n"); char* c = (char*)malloc(10); return 0; } ---malloc.c--- #include <stdlib.h> #include <stdio.h> void* malloc(size_t size) { printf("malloc\n"); return NULL; }
694 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 01:39:53 ] これを以下のようにコンパイルしました gcc -c -o testmalloc.o malloc.c gcc -o main.exe main.c testmalloc.o そして実行すると ./main.exe 4 [main] c 1924 sig_send: wait for sig_complete event failed, signal -34, rc 258, Win32 error 0 とエラーになります。そのあとにstartと表示されます。 どこがまずいのでしょうか?
695 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 02:49:43 ] >>694 main()に入る前にmalloc()が呼ばれることもあるので、そういうハリボ テ実装ではダメ。
696 名前:694 mailto:sage [2008/05/11(日) 04:02:19 ] >>695 さんありがとうございます。 ハリボテは駄目とのことなので、 置き換えたmallocの中で本物のmallocを呼ぼうとしたのですが、 やり方がわかりませんでした。 ためしに以下のようにしてみたのですが、駄目でした。 ---malloc.c--- #include <stdlib.h> #include <stdio.h> static void* (*malloc_org) (size_t size); __attribute__((constructor)) void save_malloc() { printf("save_malloc\n"); // 本物mallocを保存。 malloc_org = (void*(*)(size_t)) dlsym((void*)-1L, "malloc"); } void* malloc(size_t size) { printf("malloc\n"); return malloc_org(size); }
697 名前:694 mailto:sage [2008/05/11(日) 04:05:44 ] gcc -c -o testmalloc.o malloc.c gcc -o main.exe main.c testmalloc.o ./main.exe ここで、save_mallocと出るよりも前に mallocと表示され、そこで前回と同じ症状となりました。 何かよい方法はないでしょうか?
698 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 10:15:40 ] Cygwinだよね? ソ ー ス 嫁 そうすれば malloc などの置き換えのために何をすればいいかわかってくる。 ただ、今回は malloc の書き直しが目標なのではないだろう? ヘッダ・ソースから内部構造体を調べて、ヒープヲークする程度で充分なんでは? > ここで、save_mallocと出るよりも前に > mallocと表示され、そこで前回と同じ症状となりました。 オリジナルの malloc を"セーブ"することには意味がないよ。 むしろ malloc_org が初期化されていない場面があるってことだから DLLから都度ポインタ得ても同じこと。 そして、DLL内部で完結している malloc を、この方法で 置き換えることは困難(つーか不可能)だ。 (たとえば strdup の内部 malloc 呼び出しをこの方法で乗っ取れるか どうか実験してみるといい)
699 名前:デフォルトの名無しさん [2008/05/11(日) 13:03:46 ] 動作確認してないけど、こんなのどう? ---main.c--- #include <stdlib.h> #include <stdio.h> void* (*unko) (size_t size); #define malloc unko int main(void) { printf("start\n"); char* c = (char*)malloc(10); return 0; } ---unko.c--- #include <stdlib.h> #include <stdio.h> void* unko(size_t size) { printf("malloc\n"); return malloc(size); }
700 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 20:31:43 ] 既にCygwin環境があるWindowsで、「他者のCygwin環境でWindowsに移植されたソフトウェア」を実行しようとすると cygwin1.dllのバージョンの差異でエラー(fatal error - system shared memory version mismatch detected)が発生します。 既にCygwin環境があるWindowsで、それぞれが独立した形(スタンドアロン)として実行する最善の方法をご教授ください。
701 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 22:01:14 ] >>700 Cygnusにコンサル料払え。
702 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 22:32:49 ] >>700 Cygwin のバージョンを合わせるしかないんじゃね?
703 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 22:34:07 ] MinGWで移植できないか考える
704 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 23:33:16 ] >>700 かたっぽのCygwin1.dll消すんじゃあかんの?
705 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 00:09:35 ] >>700 その他者の移植したソフトウェアと一緒に他者のCygwin環境のcygwin1.dllを貰ってきて そっちがロードされるようにして起動すればいいんでない?
706 名前:700 mailto:sage [2008/05/13(火) 02:54:02 ] 具体例を書いておいたほうが良かったか・・・。質問やり直し。 ttp://blogs.windowsnetworking.com/wnadmin/2006/09/22/lighttpd-web-server/ こういうスタンドアロンで使う事を目的としたcygwin環境を含むソフトウェアを CygwinがインストールされてるWindowsにインストールすると、ソフトウェア同梱のcygwin1.dllよりも先に パスが通ってるディレクトリにあるcygwin1.dllを読みに行こうとします。 バージョンの差異で起動できないのは表示されるエラーメッセージで明白なので、 早い話パスが通ってるディレクトリにあるcygwin1.dllを、同梱されてるcygwin1.dllで上書きすればいいんですが、 ソフトを使うたびにファイルを入れ替えやらをしていたら、バイナリ配布がやり易いWindowsの特権がryという話です。 # そもそも、入れ替えするくらいならソースを持ってきてコンパイルした方が早い。 そこで、>>705 にある「そっちがロードされるようにして起動」の部分が知りたいと思いました。 オープンソースの恩恵を受けてるユーザだと、結構ぶち当たる問題かと思い、こちらで質問しました。 物理的にDLLを入れ替える方法しかない場合は、大人しくソースからコンパイルしマス。
707 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 06:10:22 ] いやだから、お互いのCygwinのリビジョンを合わせればいいって話じゃないの?
708 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 10:57:44 ] >>700 .local とか .manifest を用意すればOK。
709 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 17:23:58 ] >>706 そのソフトってcygwinのシェルから起動するのか? だとしたらパスの順番変えて付属のdllが先に見えるようにして起動すれば済む気がするけど… そうじゃないとしたら普通にcygwinをインストールした場合cygwin1.dllのある ディレクトリにパスが通ったりはしない(Windowsの環境変数の方のPATHね)からそんな 問題は起こらない気がする…
710 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 02:26:23 ] 挑発しているのでもなんでもなく 残念だがvirtualboxを使って複数のOSをシームレスに同居させられる今 わざわざcygwinを使う意味がまったくわからない。 古い Win環境でもcygwin使うより快適だよ 試していないならやってみるべきだと思うな。
711 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 04:12:26 ] なるほど、仮想マシンに Linux 入れてクロスコンパイル用 のgccを用意してwin32用のバイナリを開発するということだな? 確かに快適だろうがその環境を作れるやつがどの程度いるのか… # ここは一応 GCC のスレらしいよ?
712 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 06:00:07 ] 単にWindowsアプリケーションでPosixAPIを使いたいだけです
713 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 07:27:36 ] 単にシームレスにUnix系ツールを使いたいだけです。
714 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 11:13:00 ] 単にWin上でGCC系コンパイラーを使いたいだけです Cygは使ってませんし
715 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 13:36:32 ] >>712 つ Cygwin >>713 つ MSYS >>714 つ MinGW
716 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 13:49:31 ] それ全部このスレの話題だよな。
717 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 17:46:54 ] そもそもmsysってcygwinから派生したものだろ・・・
718 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 17:59:09 ] 敢えてWindows Services for UNIX
719 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 00:43:41 ] >>718 それなんてWine
720 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 21:52:12 ] CygwinもColinuxもSFUもWineも微妙… もっとwinとUNIXとが渾然一体になってるような ハイブリッドカーネルみたいなんは無いもんか……
721 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 22:44:53 ] もっと微妙になってしまいそうな気もするが…
722 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 03:51:12 ] cygwin1.dllはアッパーコンパチにして欲しいよ。マジで。
723 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 02:42:18 ] getrlimitのソースってどこにあるのでしょうか? glibcの中のgetrlimitは空実装でした。
724 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 03:40:27 ] >>723 どの環境のgetrlimit()?
725 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 23:02:09 ] 今日gcc4.3をビルドして初めて使ってみたんだけど、 デフォルトで入ってるgcc3.4.4よりコンパイルが速いのね。
726 名前:デフォルトの名無しさん [2008/06/02(月) 22:00:21 ] % alias ccgl 'cc -I/usr/X11R6/include \!* -L/usr/X11R6/lib -lglut -lGLU -lGL -lXmu -lXi -lXext -lX11 -lm -lpthread' のようにしておけば、 % ccgl program.c だけでコンパイル出来るらしいのですが。bashで % alias ccgl='cc -I/usr/X11R6/include \!* -L/usr/X11R6/lib -lglut -lGLU -lGL -lXmu -lXi -lXext -lX11 -lm -lpthread' のようにしてもできません。どこが問題なのでしょうか?
727 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 22:07:27 ] >>726 なんで「\!*」?「$@」じゃないの? つーか、そんなへんなエイリアスつくってないで、Makefile書きましょう。
728 名前:デフォルトの名無しさん [2008/06/02(月) 22:14:25 ] Makefile書けば済む話ではあるんですけど…。glutやらSDLやら 目的別にエイリアス作っとけば、ちょこっとした作業が楽になるかな と思ったんです
729 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 23:39:08 ] >>726 せめてワンライナーなaliasなんかじゃなくシェルスクリプトにすれば 記述の自由度があがってもっと便利なものも書けると思うんだが 何かaliasで定義しないといけない理由とかがある?
730 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 23:40:09 ] SDL知ってるなら、それに倣ってgl-configでも作っておけばいいんじゃない $ gcc `gl-config` hoge.c で済むようになるけど
731 名前:デフォルトの名無しさん [2008/06/03(火) 10:13:59 ] >>729 理由は特にありません。 ただ、シェルスクリプトの使い方が良く分かってないのと、ファイルを いちいち作りたくないとかです。 >>730 おお、すごくいい感じな気がします。こっちの方がいいですね `sdl-config --cflags --libs`みたいなことですよね。これは、 どのような仕組みになっているのでしょうか?
732 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 10:51:25 ] Makefile一個書くのがそんなに嫌なのかな?
733 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 10:54:14 ] >>731 sdl-configの中身を読んでみましょう。 シェルスクリプトの書き方を習得しとくと、イロイロ便利だよ。
734 名前:デフォルトの名無しさん [2008/06/03(火) 11:28:18 ] >>732 ちょこっとしたテスト用ののソースのためにわざわざMakefile書くのが嫌かもです。 リンクするライブラリが多かったりすると… Makefile書くよりもコマンドの方が手軽かな、と私が勝手に思ってるだけです。 >>733 シェルは覚えたいですね。
735 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 11:30:02 ] >>734 もしかして、ソースファイルごとにMakefileが必要だと思っていない? 適当なMakefileを用意しておけば、例えばmake fooとするだけでfoo.cかfoo.cppをコンパイルできるのだけど。
736 名前:デフォルトの名無しさん [2008/06/03(火) 12:02:24 ] >>735 make fooとした場合、 Makefile内の foo: コマンド の部分が実行される。で合ってますか? この場合、使えるソースファイルの名前はfooだけですよね? 例えば、fooってファイルの他にfoo1,foo2などのファイルを作った場合も make foo1 ,make foo2という風にできるのでしょうか? それとも、上のように様々なソースファイルを引数で指定するようならば、 make はマクロの定義をシェル引数からでもできる。 例: % make CC=gcc ということなので、これを応用すればいいのでしょうか?
737 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 12:06:52 ] >>736 %: %.c gcc -o $@ $< ってMakefileに書いてみ
738 名前:デフォルトの名無しさん [2008/06/03(火) 12:36:59 ] >>737 おお、ありがとうございます。こんな使い方できるんですね。最初からMakefileに ついて調べとけば良かったorz これで解決です。 ところで、autotoolsってありますよね。あれの使いどころが良く分かりません。 大規模なソフトウェア->autotools使う。 趣味範囲のソフトウェア->自分でMakefileを作って流用する って感じなのでしょうか?
739 名前:735 mailto:sage [2008/06/03(火) 12:59:50 ] >>738 やっぱりそうだったのかw 道理で話が噛み合わないと思った。
740 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 13:01:53 ] >>739 知識少なくてすみませんw プログラムしたくてもMakefileを調べていたら全然進まないので、
741 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 13:02:35 ] やっつけでMakefile書いてきたツケが…
742 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 13:07:56 ] 事実上、 autotools->クロスプラットフォーム Makefile->環境依存 だとおもえばいいよ。
743 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 13:13:03 ] なるほど。じゃあ、Makefileについてちゃんと調べようと思います。
744 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 13:14:28 ] foo.Cが任意のディレクトリにあるとき、 Makefileをソースファイルと同じディレクトリに置かないと、make fooとはできないよね。 できるのならぜひ方法を知りたい。
745 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 13:19:17 ] Makefileの中身はこんな感じ(一部抜粋) # Makefile for MinGW OBJS = main.o OPTS = LIBS = CC = g++ RC = windres CFLAGS = -O2 -Wall .SUFFIXES: .cxx .hxx .rc .ro # $(OUT): $(OBJS) $(CC) $(OPTS) -o $@ $(OBJS) $(LIBS) strip $@ @(del *.o 2>&1) > NUL @(del *.ro 2>&1) > NUL .cxx.o: $(CC) $(CFLAGS) -c $< .rc.ro: $(RC) -o $@ $< clean: @(del *.o 2>&1) > NUL @(del *.ro 2>&1) > NUL @(del *.exe 2>&1) > NUL
746 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 13:24:04 ] >>744 -fで指定するのが嫌で、alias make="make -f ~/Makefile"とかするのが嫌なら、 カレントにMakefileのシンボリックリンクでも置いておくとか。
747 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 13:24:26 ] >>744 vpathとか
748 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 13:34:01 ] >>746 aliasの存在を忘れていた。すぐ上でalias見たばかりなのに……。 ふだんはわざわざカレントにシンボリックリンク(ジャンクション)を作ってました。 とはいえ、カレントのMakefileを使いたいこともあるのでvpath使ってみようと思います。 こんな便利なものがあったとは。
749 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 13:43:49 ] >カレントのMakefileを使いたいこともあるので alias mk="make -f ~/Makefile" でOK
750 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 14:22:26 ] >>744 あまり良くない方法らしいがMAKEFILES環境変数 make makes many problems pc11.2ch.net/test/read.cgi/tech/1029599472/387
751 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 01:49:57 ] >>744 @ほにゃらら で下階層に移動するのはダメ? linuxのtarballでよくある方法
752 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 17:00:20 ] gcc on cygwinでコンパイルできません。 以下の通りなのですが、パスが通ってないのでしょうか。 よろしければ解決策をご教授ください。 $ cat hello.c #include<stdio.h> int main(){ printf("Hello,world.\n"); return 0; } $ gcc hello.c hello.c:1:18: stdio.h: No such file or directory hello.c:5:2: 警告: no newline at end of file $ set | grep ^PATH= | sed 's/:/\n/g' | grep -v ^\/cygd PATH='/opt/xfce4/bin /usr/local/bin /usr/bin /bin /usr/X11R6/bin /usr/lib/lapack'
753 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 17:18:18 ] >>752 -v オプションを付けてコンパイルするとインクルードファイルのサーチパスが出る こんな感じに↓ #include <...> search starts here: /usr/lib/gcc/i686-pc-cygwin/3.4.4/include /usr/include /usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../include/w32api そのどれか (たぶん/usr/include) に stdio.h が存在するか確認
754 名前:752 mailto:sage [2008/06/04(水) 17:29:22 ] >>753 早いレスありがとうございます -vオプションをつけて実行した結果、以下のログが得られました。 #include "..." の探索はここから始まります: #include <...> の探索はここから始まります: /usr/local/include /usr/lib/gcc/i686-pc-cygwin/3.4.4/include /usr/include 探索リストの終わり 上記のパスを確認したところ $ ls /usr/include/ $ ls /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/ README* gcj/ mm_malloc.h* stdbool.h* xmmintrin.h* c++/ gpc-in-c.h* mmintrin.h* stddef.h* emmintrin.h* iso646.h* objc/ syslimits.h* float.h* libffi/ pmmintrin.h* unwind.h* g2c.h* limits.h* stdarg.h* varargs.h* $ ls /usr/local/include/ SDL/ となり、どうやらサーチパス上にstdio.hが無いようです。
755 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 22:12:28 ] >>735 カレントにfoo.cある時はMakefile無しでも make foo だけでデフォルトルールでコンパイルしてくれるぜ 俺はalias使わずに$CFLAGS,$CPPFLAGS,$LDFLAGS,$LDLIBS設定してMakefile用意せずmake派
756 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 02:37:50 ] cygwinのバージョンを古いのから、新しいのにアップデートさせたら、 コンパイルがかかる時間がかなり延びてしまった。 cygwinってアップデートしたら、コンパイル時間が伸びる場合ってあるの?
757 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 08:50:19 ] cygwinつーか、gccのバージョンの問題じゃない? gccは基本的にバージョンが上がるたびにコンパイルが遅くなってる。
758 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 14:04:08 ] 質問ですっ 現在MinGWにてC++を開発して JNI連携でeclipseのJAVAで実行しようと考えています。 MinGWでdllを作って中を覗くと、 クラス名が「Java_HelloWorldJNI_sayHelloWorld@8」のように 「@+数字」が付いてしまいます。 こうなるとネイティブメソッド宣言がエラーで出来なくなっちゃいますよね? このクラス名指定でエラー ⇒ public native String sayHelloWorld@8(); これを回避するには 『dllwrap --add-stdcall-alias』 このような形で指定する事を調べてわかりましたが これをMinGWのどこで設定するのかがイマイチわからず。。。 Project>Export Makefileで作られたMakefileにも指定する所がなさそうですし。
759 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 14:11:10 ] >>758 どうやってDLLを作っているですか? dllwrapで作っているわではないの?
760 名前:758 mailto:sage [2008/06/11(水) 14:14:30 ] MinGW Developer Studio 2.05 を使用してDLLを作っています。
761 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 15:17:09 ] MinGW Developer Studioは使ったことないからアドバイスできないや。
762 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 15:23:31 ] C++側の話なので該当スレで聞いてください。
763 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 15:40:21 ] C++でdllを作ってるわけじゃないから C++スレ行ってもスレチ言われそうだな。
764 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 16:04:53 ] このスレでいいよ、MinGWの使い方なんだから。 自分には答えられないけど。
765 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 17:51:49 ] >>758 JNIはstdcallだから、そのままだと@がついてしまうようだね DEFファイルを使ってもいいと思うが --kill-atとか指定したら消えないか?
766 名前:758 mailto:sage [2008/06/11(水) 19:49:30 ] でけたー! >765さんありがとう! なので記述しておきます。 MinGW Developer Studioの「関数名@数字」の「@数字」の消し方 1 MInGWの「Project>Export Makefile」にてMakefile作成 2 Makefileの27行目を下記のように「--kill-at,」を付け加える。 LDFLAGS = -pipe -shared -Wl,--output-def,$(OBJ_DIR)\hogehoge.def,--out-implib,$(OBJ_DIR)\hogehoge.dll.a ↓ LDFLAGS = -pipe -shared -Wl,--kill-at,--output-def,$(OBJ_DIR)\hogehoge.def,--out-implib,$(OBJ_DIR)\hogehoge.dll.a 3 コマンドプロンプトでコンパイルに使用したいMakefileの階層に移動する。 4 コマンドプロンプトでMinGW Developer studioデフォルトインストールなら 「C:\MinGWStudio\MinGW\bin\mingw32-make.exe」を実行する。 5 Makefileの存在する階層にdll完成 結局MinGW Developer Studioの設定のみでは出来ませんでした。。。 オマケ dllの中身を見るにはコレがベンリー! Microsoft Visual Studio 6.0>Microsoft Visual Studio 6.0 ツール> Dependency Walker
767 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 01:17:54 ] 758、ちゃんとまとめて、えらいな。質問者の鑑だ。
768 名前:756 mailto:sage [2008/06/20(金) 01:14:17 ] >>757 なるほど。 確かに、GCCのバージョンは3.3から3.4ぐらいに上げたわ。 cygwinのバージョンをダウンさせずに、コンパイル時間を早くさせる方法はあるのかな・・
769 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 01:37:44 ] CPUとHDDを速いものに替えることだろうなあ。
770 名前:756 mailto:sage [2008/06/20(金) 02:57:53 ] >>769 ハード的に改造しないと無理か・・・ orz
771 名前:デフォルトの名無しさん [2008/06/20(金) 08:57:26 ] 今日、gcc-4.3.0をcygwinからインストールしました。 ただ、間違えてC:/Tmpいかのgccを解凍したフォルダ内にインストールしてしまいました。 それで、一度アンインストールしてから再度別のフォルダにインストールしたいのですが、 アンインストールの仕方が調べてもいまいちわかりません。 どのようにすればよいでしょうか?
772 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 12:06:28 ] make uninstall やってみた?
773 名前:デフォルトの名無しさん [2008/06/21(土) 03:35:12 ] やってみましたが、 the uninstall target is not supported in this tree と出るのみです。
774 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 12:36:09 ] >>771 手動削除でおk。 # make deinstall だったりしない?
775 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 20:44:23 ] MinGW+Msysな環境をWindowsXP Pro SP2に構築したのですが、Cygwinに比べて非常に お手軽で素晴らしいんですが、この環境にwgetを入れることは出来ませんか? GNU Wgetの公式サイトからソース落としてきて ./configure make したらエラーが出てコンパイルできませんでした・・・・。
776 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 21:40:01 ] バイナリで良ければMinGW Utilitiesにある
777 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 21:51:24 ] >>776 バイナリでいいです sourceforge.net/project/showfiles.php?group_id=2435 ココの wget-1.9.1.tar.gz ですよね? downloads.sourceforge.net/mingw/wget-1.9.1.tar.gz?modtime=1119444412&big_mirror=1 ↑これ・・・・ しかしこれダウンロードしてもソースなんですけど? しかも./configure make したらエラー・・・・
778 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 22:13:03 ] wget-1.9.1.tar.gz をダウンロードして /usr/src に展開。 wget-1.9.1-mingwPORT.tar.bz2 をダウンロードして適当なところに展開。 cd wget-1.9.1/mingwPORT sh mingwPORT.sh 質問には Download? と Unarchive? にNo を答えてビルド。 本当は自動でダウンロード&展開してビルドするはずだけどなんかうまく動いてないっぽい。
779 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 22:17:38 ] しかしwget くらい MSYS Supplementary Tools ( sourceforge.net/project/showfiles.php?group_id=2435&package_id=67879 ) あたりに入れて欲しいな… MSYS-1.0.11 あたりで入らないかなー?
780 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 22:21:00 ] >>777 > バイナリでいいです gnuwin32.sourceforge.net/packages/wget.htm の Complete package (Setup) が良いかと。
781 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 22:22:16 ] >>778 ありがとうございます!!!! え〜と、本来なら人に聞かずにこういうの自分で分からないといけないと思いますが 一次情報源はどこでしょうか?出来ればポインタ等示していただければ・・・・
782 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 22:23:43 ] >>780 ん?これは?これはMSYSとは無関係にコマンドプロンプト上で動いたりするのでしょうか?
783 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 22:24:29 ] >>781 www.mingw.org/MinGWiki/index.php/mingwPORT >>782 そーです。
784 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 22:30:26 ] ぶっちゃけ mingwPORT まともにメンテナンスされてない気がするけどなー
785 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 22:34:53 ] 皆様色々ご教示ありがとうございました。 おかげさまでwgetが使えるようになりました。今回は先に作業を始めたと言う事と せっかくMinGWとMSYSが入っているのでコマンドプロンプト版wgetは見送りました。 しかし別の環境で使う時は手軽にすぐ使えそうで、貴重な情報を頂きました。 本当にありがとうございました〜
786 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 23:05:54 ] 解決したようだから別にいいんだけど、「コマンドプロンプト版」ってどういう意味? MinGW でビルドした実行可能ファイルは MSYS が無くても動くよ。 単独で動くという意味では mingPORT の wget も GnuWin32 の wget も同じ。
787 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 23:22:59 ] >>786 ありゃ、そうだったんですか・・・ では、mingPORTのwgetとGnuWin32のwgetの違いとは何でしょうか?
788 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 23:36:10 ] >>787 詳しく知らないけど当たっているパッチとかビルド時のオプションとかが違う程度じゃないかな。 gnuwin32.sourceforge.net/summary.html によると MinGW でビルドされているようだし。
789 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 12:03:39 ] mingwportの件、sourceforgeのダウンロードURL変更にスクリプトが追随してない模様。 mirrors.sfファイルの最終行を DOWNLOADURI=${DOWNLOADURI}.dl.sourceforge.net/sourceforge/${PACKAGE} に書き換えたらmingwPORT.shで自動ダウンロードできた。
790 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 22:03:08 ] >>710 zshからvi起動してCのソースを書き書きしながらmakeすると vc++のcl.exe呼び出してコンパイルしてくれるようなことできますか。 シームレスっていうのは、そういうのを言うんだけど。
791 名前:sage [2008/07/08(火) 23:53:16 ] mingw5.1.4で--exec-charsetオプションが使えないのですが、 どうにか使えるようにはできないのでしょうか?
792 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 20:14:49 ] >>790 普通に出来るんじゃね? これまでの流れ読んでないけど、790のことに関しては。