全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 最新50
cygwin + mingwn + gcc 相談室 Part2

1980sage2005/09/07(水) 23:29:07
Windows上で動作するフリーの開発環境 CygwinとMinGWに関する相談スレッドです。

※ MinGWが正式名称です。スレタイはバグでもtypoでもなく仕様です。

過去スレ:
cygwin + mingwn + gcc 相談室
http://pc8.2ch.net/test/read.cgi/tech/1058134693/

関連サイト:
Cygwin http://www.cygwin.com/
MinGW http://www.mingw.org/

関連スレッド:
GCCについて Part6
http://pc8.2ch.net/test/read.cgi/tech/1121146723/
MinGWを使おう
http://pc8.2ch.net/test/read.cgi/tech/1042611308/
2デフォルトの名無しさんsage2005/09/07(水) 23:41:23
>>1

さっそく質問だが
MinGWで、COMサーバ・クライアントをする実例ってある?

CでインタフェイスをGetするのはやったけど、やっぱりC++チックな
書き方ができないのが悔しかった。

Borlandのタイプライブラリインポートで、プロパティが
Borlandのプロパティに対応するのを見て、なんだか悔しかったり。

C++ ABI は、MSVC BCC いずれとも互換性がないんだっけ?
3デフォルトの名無しさんsage2005/09/08(木) 14:31:05
>>2
gcc-3.xのMinGWならふつーに使えた気がしないでもない。
4デフォルトの名無しさん2005/09/09(金) 22:43:15
>>前スレ387
サンクス!
5デフォルトの名無しさんsage2005/09/10(土) 14:58:40
>>1
for(;;) printf("乙!\n");
6名無しさん@そうだ選挙に行こうsage2005/09/10(土) 18:52:53
>2
COM は C++ ABI のごく基本的でほぼ共通の実装が使われている部分(vtbl 周り)に
立脚しているから、ごく普通に MinGW の C++ でも使えると思うが。
7名無しさん@そうだ選挙に行こうsage2005/09/11(日) 02:03:40
>>6
それが、gccの場合は、vtblの先頭を型情報と何か(知らん)で取るから、他のコンパイラと仮想関数がふたつずれるんですよ。
8名無しさん@そうだ選挙に行こうsage2005/09/11(日) 20:58:32
あと、いわゆる __thiscall (暗黙の1st引数が%ecx) に
gcc は対応してたけ?

declspec で vt の持ち方などを変更できればいいんだが…
9名無しさん@そうだ選挙に行こうsage2005/09/11(日) 22:00:13
どっかのバージョンからVC++に合わせてABI変更されてたような気がしないでもない
10デフォルトの名無しさんsage2005/09/12(月) 12:48:54
>>7
どのバージョンのMinGW/gccを使っていて、どんなコードがダメだった
のか挙げてみなさいな。MinGWでできるはずだよ。
11デフォルトの名無しさんsage2005/09/12(月) 22:38:00
>>10
うぉっ、4.0.1では先頭の情報が無くなってる。
ちなみに記憶にあったのは3.系の初期。
12デフォルトの名無しさんsage2005/09/15(木) 15:38:28
Cygwin on Win64マダー
13デフォルトの名無しさんsage2005/09/19(月) 14:29:38
mingwにboostをインストールするにはどうしたらいいでしょうか。
bjam -sTOOLS=mingw install
ってやったらすべてskipされました。。
14デフォルトの名無しさんsage2005/09/19(月) 17:15:32
boostの配布物を展開してjamの設定ファイルのあるディレクトリを見れ。
15デフォルトの名無しさんsage2005/09/19(月) 17:49:09
jamfileがあるところですか?
色々見たつもりなんですが、全然判らないです。
BUILDを色々変えてみたり、個別のディレクトリの下で
やってみたりもしたんですが、やはりスキップされるだけです。。
16デフォルトの名無しさんsage2005/09/19(月) 20:22:57
すいません、解決しました。
17デフォルトの名無しさん2005/10/02(日) 05:44:16
gcc-4.1で、mingwnでビルドできるスナップショットの日付はどれでしょう
最新版は撃沈…
18デフォルトの名無しさんsage2005/10/09(日) 05:54:10
アプリがフォーカス握ったときにデバッガを操作できなくなるので
gdbでリモートデバッグしたいんだけど、どうしたらいい?
19デフォルトの名無しさん2005/10/12(水) 21:40:49
cygwin上でコンパイルしたアプリケーションを
アイコンクリックで起動しようとしたら
「cygwin1.dllが無いから起動できませんでした。」ってなるんですけど、
スタンドアロンで起動させるためにはどうしたらいいでしょうか?
20デフォルトの名無しさんsage2005/10/12(水) 21:44:00
(1)cygwin1.dllをアプリと同じフォルダに置く。
(2)cygwin1.dllにパスを通す。
(3)アプリをmingwでコンパイルし直す。
お好みでどうぞ。
21デフォルトの名無しさんsage2005/10/12(水) 22:13:13
cygwin1.dll (≒Cygwinライブラリ) のライセンスに注意な。
22デフォルトの名無しさんage2005/10/16(日) 01:38:15
STLport-4.6.2を使ったプログラムをmingwでびるどしたいのですがリンクがうまくいきません
stlportはc:/dev/stlport-4.6.2にインストールしてあり、こちらのビルドは成功しています
c:/dev/stlport-4.6.2/lib/libstlport_mingw32.a
c:/dev/stlport-4.6.2/lib/libstlport_mingw32.dll.4.6
c:/dev/stlport-4.6.2/lib/libstlport_mingw32_static.a
.....
c:/dev/STLport-4.6.2/lib/obj/mingw32/release下には生のオブジェクトファイル(拡張子が.o)があり
それらをMakefileのなかで全部リンクさせるようにしたらリンクできました

成功したMakefileは以下のようにかきました
OBJS = hello.o
STLP_LIB_DIR = "c:/dev/stlport-4.6.2/lib/obj/mingw32/release"
STLP_OBJS = $(STLP_LIB_DIR)/c_locale.o $(STLP_LIB_DIR)/c_locale_stub.o $(STLP_LIB_DIR)/codecvt.o .....
hello.exe: $(OBJS)
    g++ -static -v -o $@ $(OBJS)
.cpp.o:
    g++ -static -v -c -I. -I"c:/dev/stlport-4.6.2/stlport" $<

失敗したMakefileは以下のようにかきました
OBJS = hello.o
hello.exe: $(OBJS)
    g++ -static -v -L"c:/dev/stlport-4.6.2/lib" -l"stlport_mingw32"-o $@ $(OBJS)
.cpp.o:
    g++ -static -v -c -I. -I"c:/dev/stlport-4.6.2/stlport" $<

エラーメッセージはいかのとうりです. よろしくおねがいします
hello.o(.text+0x35):hello.cpp: undefined reference to `_STL::cout'
hello.o(.text+0x73):hello.cpp: undefined reference to `_STL::ios_base::_Loc_init::_Loc_init()' ..........
hello.o(.text$_ZN4_STL8ios_base23_M_check_exception_maskEv[_STL::ios_base::_M_check_exception_mask()]+0x1d):hello.cpp: undefined reference to `_STL::ios_base::_M_throw_failure()'
collect2: ld returned 1 exit status
make: *** [hello.exe] Error 1
23デフォルトの名無しさんsage2005/10/16(日) 05:55:17
リソクしる
24デフォルトの名無しさんsage2005/10/16(日) 06:44:32
あまりよく読んでないが、オブジェクトファイルと -l の順番の問題じゃ?
2522sage2005/10/16(日) 11:48:06
24さんのいうとおり
hello.exe: $(OBJS)
    g++ -static -v -L"c:/dev/stlport-4.6.2/lib" -l"stlport_mingw32"-o $@ $(OBJS)

hello.exe: $(OBJS)
    g++ $(OBJS) -static -L"c:/dev/stlport-4.6.2/lib" -l"stlport_mingw32_static" -o $@
にしたらビルドに成功しました. ありがとうございました
26デフォルトの名無しさん2005/10/16(日) 15:51:20
初心者モドキです。質問させてください。
Cygwinのバージョン2.510.2.2をフルインストールし、その後
http://www.eaflux.com/cygwin-xfree-jp-supplement/
を見ながら日本語化しました。

startxで正常に起動しました。
しかし、.fvwm2rcの
AddToMenu Window-Ops2を"移動(&M)" Move
等すると、ktermを起動したときなどに左上の[-]メニューが文字化けします。
.fvwm2rcの保存をSJIS,EUC,JISにしても同様です。

一応、xfontsel.exeで-*-*-*-*-*-*-*-*-*-*-*-*-gb2312.1980-*を見てみたら
ひらがなが読み込まれた(フォントが存在している?)ので、安心して
WindowFont,IconFont,MenuStyle,*FvwmButtonsFont,*FvwmIdentFont,
*FvwmWinListFont,*FvwmIconBoxFont,
と、目に付く端から上記のフォントに設定してみたのですけど、やっぱり
文字化けします。
当然、"移動(&M)" Move を "Move&M)" Move とすれば文字化けはしないので、
日本語を諦めれば言い訳ですけど、できるなら設定したいのです。

分かる範囲で教えていただけたら光栄です。
27デフォルトの名無しさんsage そいつは中国語の文字コードだ。ばかめ。2005/10/16(日) 15:56:31
.fvwm2rcをGB2312で保存しろ。
28262005/10/16(日) 16:15:24
驚愕。
そういうかー!

ところで、.fvwm2rcのGB2312での保存の仕方が分かりません。
申し訳ないのですけれど、GB2312での保存もしくはjisx0208.1983(これもフォントが出る)での
.fvwm2rcの保存方法も教えていただけないでしょうか。

29デフォルトの名無しさんsage2005/10/16(日) 17:45:30
愕然。
モドキ等と自称する人種が素の初心者よりよほど始末に悪い見本だぁな
30デフォルトの名無しさんsage2005/10/16(日) 22:30:10
>>26
> 一応、xfontsel.exeで-*-*-*-*-*-*-*-*-*-*-*-*-gb2312.1980-*を見てみたら
> ひらがなが読み込まれた(フォントが存在している?)ので、安心して
>>28
> 申し訳ないのですけれど、GB2312での保存もしくはjisx0208.1983(これもフォントが出る)での

なぜjisx0208.1983のfontを指定しない?
3126sage2005/10/16(日) 23:37:11
言葉が足りずに申し訳ないです。
すでに、-*-*-*-*-*-*-*-*-*-*-*-*-jisx0208.1983-*で.fvwm2rcのフォント設定を
してみたのですけど、それでも文字化けをするのです。
なので、保存のときに特別な操作が必要なのかと思ったのです。
3226sage2005/10/17(月) 00:15:01
.fvwm2rc の
WindowFont,IconFont,MenuStyle,*FvwmButtonsFont,*FvwmIdentFont,
*FvwmWinListFont,*FvwmIconBoxFont,
を、順に一個づつ
-*-*-*-*-*-*-*-*-*-*-*-*-jisx0208.1983-*から
-*-*-*-*-*-*-16-*-*-*-*-*-jisx0208.1983-*
に変更(秀丸を使ってSJIS保存)してみても、文字化け部分の
文字サイズが変わりません。
もしかして、この.fvwm2rc以外の部分が悪さしているんでしょうか。
33デフォルトの名無しさんsage2005/10/21(金) 06:53:28
クロス環境の構築について質問があります。
今 MinGW5.0.0 + msys + binutils2.16.1 + gcc4.0.2 + newlib1.13.0 という環境で
構築を行おうとしているのですが、うまくいきません。
collect2.o において kill、pipe、fork が undefined referece となります。
http://quox.org/install/cross/

http://iwatam-server.dyndns.org/hardware/h8comm/doc/CrossDevel-jp.html/
を参考にやっているのですが、
他の、クロス環境についてのサイトでも linux 若しくは cygwin 上で
構築している(ことが多い)ので、MinGW 上ではダメなのでしょうか。

また、binutils と gcc は MinGW のサイトからではなく GCC のサイトから落とし、
configure や make は msys 上で行いました。

よろしくお願いします。
3433sage2005/10/21(金) 07:12:41
すいません、書き忘れがいくつかありました。
各ツールは configure、make、make install を binutils、gcc、newlib の順に
行おうとしています。
今回は、binutils についてはうまくいき、gcc の configure まではうまくいくのですが、
make で先ほどのエラーが出ます。

OS は WinXPです。
35デフォルトの名無しさんsage2005/10/21(金) 07:59:19
だめってことはないだろうけど…
newlibが要らない気がする。
ターゲットOSは?
36デフォルトの名無しさんsage2005/10/21(金) 09:06:00
MinGWでunistd.h 絡みは使えなかったと思うんだが…。
unixのように使いたかったらcygwin使えと。
37デフォルトの名無しさんsage2005/10/21(金) 12:13:07
>>33
ビルドのgcc/MakefileのCOLLECT2の記述を消せばいい。
cygwin環境で-mno-cygwinつきでクロス環境構築したけど
collect2は作らなかったよ。
3833sage2005/10/21(金) 22:41:02
お返事ありがとうございます。

>>35
ターゲットアーキテクチャは h8300-hms です。

>>36
やはり cygwin を使ったほうがいいんでしょうか・・・。

>>37
これからやってみます。

一回一回ビルドに時間がかかるので何度も試せませんが、
少しずつやっていこうと思います。
39デフォルトの名無しさんsage2005/10/21(金) 23:23:59
http://h8300-hms.sourceforge.net/
gcc4..0.2でmingwなクロス環境を作りたい時は
configureするときに--without-fixincluesをつけると幸せになれるかもしれない。
40デフォルトの名無しさんsage2005/10/25(火) 23:43:37
なんとかしてMinGWで、stdc++の代わりにmsvcp[5|6]0.dllを使う方法はないでしょうか。
msvcp60.dllからlibmsvcp60.aを作ってみたりしましたが、どうもstdc++が優先されてしまうようです。
41デフォルトの名無しさんsage2005/10/26(水) 01:40:59
-nostdlib
とか?
42デフォルトの名無しさんsage2005/10/26(水) 03:01:59
>>40
C++のシンボル名規則が全然違うから、ムリ。
43デフォルトの名無しさんsage2005/10/27(木) 16:00:40
>>41
-nostdlib -lmsvcp60.a
試してみましたが、未解決のシンボルのせいでリンクが完了しませんでした。

>>42
どこかをいじって、なんとかできないものでしょうか。
44デフォルトの名無しさんsage2005/10/27(木) 16:08:43
>>43
間違えました。
-nostdlibを指定しても、libstdc++は勝手にリンクされるようです。
45デフォルトの名無しさんsage2005/10/27(木) 22:04:36
マングリ返せよ
46デフォルトの名無しさんsage2005/10/27(木) 23:49:48
cygwinで日本語表示ができません。
cygwinでコンパイルしたC言語のプログラムの中の
printf("日本語")
の日本語が正しく表示されません。
cygwin_jeをインストールすればいいのでしょうか?
よろしくお願いします。
47デフォルトの名無しさんsage2005/10/28(金) 00:15:17
>>45
まんぐり返したらリンクは通るようになるかもしれんが
C++ABIが違うのでなかった? スレの最初の議論では結論がよくわからん。

>>46
どーうまくいかなかったんだね?
何も考えずに使うと、コンソールアプリはCP932(シフトJIS)に縛られるのでうまくいくはず。
48デフォルトの名無しさんsage2005/10/28(金) 00:39:17
>>47
レスありがとうございます。
meadowで書いたプログラムをcygwinで
gcc -o 〜 〜
としてコンパイルした後、そのプログラムを
./〜
で走らせると、
printf("日本語")
の部分が
B&?S+$
とかになってしまうんです。
49デフォルトの名無しさんsage2005/10/28(金) 01:56:32
ソースの文字コード
50デフォルトの名無しさんsage2005/10/28(金) 01:59:02
>>48
たぶんソースが7ビットJIS
51デフォルトの名無しさんsage2005/10/28(金) 02:41:43
>>45
たとえまんぐり返しの整合性が取れても、
スタートアップルーチンの仕事内容とか、例外関係の違いもあるので、
gcc のソースを激しくハックする勇気がないとムリ。
52デフォルトの名無しさんsage2005/10/28(金) 02:43:25
>>49
>>50
返信ありがとうございました。
ttp://uenox.ld.infoseek.co.jp/cygwin/japanese.html
ここのサイトに乗ってることを一通りやってみましたが、だめでした。
これとはまた別の操作が必要なんでしょうか。
5352sage2005/10/28(金) 02:50:40
何度もすいません。
もしかして setup.exe でダウンロード先を 
〜.jp 以外のサイトからDLしたのがまずかったのでしょうか?
それが原因なら再インストールするだけなんですが・・・。
54デフォルトの名無しさんsage2005/10/28(金) 02:55:43
cygwinかんけーねーよ
エディタ見ろよ
55デフォルトの名無しさんsage2005/10/28(金) 02:56:27
>>53
おまえ、>49>50を読んでないだろ。
56デフォルトの名無しさんsage2005/10/28(金) 04:19:59
とりあえず藻前しばらくMeadow使うのやめれ。
で、Notepadで同様のソース書いて試せ。
57デフォルトの名無しさんsage2005/10/28(金) 04:28:23
そしてNotepadでUnicode保存してしまう罠。
58デフォルトの名無しさんsage2005/10/28(金) 04:30:52
しかもsrc.c.txtという名前で保存
59デフォルトの名無しさんsage2005/10/28(金) 04:39:13
ここはnotepad使いこなしてるツワモノだらけだな。
60デフォルトの名無しさんsage2005/10/28(金) 04:53:30
まるでダメオは結局のところ何をしてもダメダメってところで
6152sage2005/10/28(金) 05:15:19
meadowの.emacsの中のフォントを変更してみたら、
簡単に表示させることができました。
最初からcygwin内の問題だと思い込んでいたもので、>>54をみるまで、
みなさんのアドバイスを理解することができませんでした。
いろいろとお世話になり、ありがとうございました。
62デフォルトの名無しさんsage2005/10/28(金) 05:41:52
フォント!?
63デフォルトの名無しさんsage2005/10/28(金) 06:22:44
文字コードってフォントでどうにかなる問題だったのかよ。
64デフォルトの名無しさんsage2005/10/28(金) 17:56:20
なる問題だったんだよ

で、ガッ
65デフォルトの名無しさんsage2005/10/28(金) 18:04:52
まあ、質問者の「meadowの.emacsの中のフォントを変更」というのさえ
信頼できない記述に成り下がるわけで、なにかの勘違いだろうなぁ、、、
6652sage2005/10/28(金) 21:12:17
なんかまた勘違いしてたみたいですね。
正確に言うと、 .emacs 内の
;;; TrueType フォント設定
以下の文の ;; をとったらいけました。
あまり知識がないもので、誤解させてしまって申し訳ありませんでした。
そしてありがとうございました!
67デフォルトの名無しさんsage2005/11/02(水) 08:38:18
windowsでcygwinのgccで-mno-cygwin使ってmingw使ってんだけど
ファイルをfread()とかposixのread()で読もうとしても全部読めない・・
ファイル途中なのにeofになっちゃう
なぜだろう?
cygwinはリンクされてないのでcygwin環境とは混在されてないんだけど
ちなみに同じソースでcygwin環境でビルドすると問題なく読める
68デフォルトの名無しさんsage2005/11/02(水) 09:39:57
バイナリモードを指定せずにバイナリデータを読もうとしてるとか、かな?
69デフォルトの名無しさんsage2005/11/02(水) 10:01:06
不具合を再現する最小限のソースを示せばMinGWでコンパイルしてみるよ。
70デフォルトの名無しさんsage2005/11/02(水) 19:45:31
mingwのGNUコンパイラを使うと
プログラムサイズがやけに大きくなるのはなぜでしょうか?

C言語でのHello Worldが500KBにもなってしまいます
C++だと1MBとか・・・

-Osをつけても効果がないんです
71デフォルトの名無しさんsage2005/11/02(水) 20:04:17
まずはソースをよこせ
72デフォルトの名無しさんsage2005/11/02(水) 21:35:50
-s も付けたら?
73デフォルトの名無しさんsage2005/11/02(水) 21:56:26
>>70
C++は、MSVCP*.dllを利用できないので、iostream等をインクルードした場合は
libstdc++を使わざるを得ず、またライセンスの関係でスタティックリンクするしかないため
サイズに関しては諦めるしかない。


・・・しかし、CのHelloWorldで500KBytesは異常。
74デフォルトの名無しさんsage2005/11/02(水) 22:06:11
>>71
ソースといっても・・・

>>72
-sオプションは知りませんでした
劇的にサイズが減りました
どうもありがとうございました

>>73
無駄なライブラリを引っ張ってきてるだろうなー
と思ってたらやっぱりそうみたいですね

ちなみに
-sなし
C:568,911 バイト、C++:1,055,359 バイト
-sあり
C:5,632 バイト、C++:264,704 バイト

でした
75デフォルトの名無しさんsage2005/11/02(水) 22:14:04
stripと無駄なライブラリとは関係ないわけだが
76デフォルトの名無しさんsage2005/11/02(水) 22:14:56
どちらかというとデバッグ情報のような気がするけど
77デフォルトの名無しさんsage2005/11/02(水) 22:24:43
意味も分からず-gを付けている予感
78デフォルトの名無しさんsage2005/11/02(水) 22:34:23
それだ
79デフォルトの名無しさんsage2005/11/03(木) 21:00:55
どこに質問するのが最適かわかりませんでしたが、
おそらく、ココかと思いまして質問させていただきます。

mpgtx ttp://mpgtx.sourceforge.net/
というmpeg操作用ツールがあり、exeもダウンロードできるのですが、
Win32用はLFS(Large File Support)に対応できていないようです。
#ちょっとバージョンも古い

c++でLFSに対応させる方法はありませんか?


以下、自分でやってみたこと。

まずconfigureを見てLFS対応か判定するために一度サンプルをコンパイルする個所を発見。
LFSとMingwでググってみたら、次のサイトを発見。
ttp://gnuwin32.sourceforge.net/compile.html

環境構築:Mingw + MSYSな環境に上記gnuwin32を加えてLibGw32Cを足した
configure:ドキュメント通りのオプションになるようmpgtxのconfigureを書換えした
       また-Iや-Lのパスも変更した。
サンプルのstdio.hはgnuwin32のstdio.hを参照するよう変更。
結果:サンプルコンパイル時にstdinが無い、と言われてしまいました。

gnuwin32にはCだけでC++が無いのでmingwのC++を使っているのですが..
80デフォルトの名無しさんsage2005/11/04(金) 03:54:25
古いgccで試すんだ2.95あたりまで
81デフォルトの名無しさんsage2005/11/04(金) 06:28:17
簡単そうなのはFSEEK,FTELLをWin32APIでラップ。
でもread,writeまでラップしないといけなさそうな。
ogg vorbis みたいにファイルアクセスが抽象化されてると楽なんだけどな。
82デフォルトの名無しさん2005/11/07(月) 00:26:57
MinGWにはvarargs.hなど、一部のヘッダファイルがないようで(ファイルはあるにはあるが、中身が空)
可変引数が使えないんですが、これは解決策はありますか?
8382sage2005/11/07(月) 00:40:19
勘違いしてた。
Windowsではvarargs.hは要らないです。stdio.hだけでいけます。
スレ汚しでごめん。
84デフォルトの名無しさんsage2005/11/07(月) 10:21:39
違う方向にさらに勘違いしていそうだな。
85デフォルトの名無しさんsage2005/11/07(月) 16:57:21
varargs.hってANSI以前の?
K&R嫁...って今の時代に新人以外に向かってこんなこと言う機会があるとはね。
86デフォルトの名無しさんsage2005/11/07(月) 23:41:54
>>83
ANSI-C では stdarg.h を使うんですよ。
mingw 以前に ANSI-C が分かってないので、勉強して出直してね。
8782sage2005/11/08(火) 04:04:46
>>84-86
ありがとう。
ほんとに勘違いしてました。
勉強して出直します。
88デフォルトの名無しさんsage2005/11/09(水) 17:55:59
インストールが絶対に失敗する。
Download Incomplete. Try again?
じゃねぇよおぉおお
89デフォルトの名無しさんsage2005/11/09(水) 20:45:48
別のサイトを選ぶとかいうくらいの誰でも思いつきそうなことは試したか?
90デフォルトの名無しさん2005/11/09(水) 22:01:23
大学の授業でCygwinをつかい、C言語でプログラミングをしているのですが、
rp4a.c:14: error: stray '\201' in program
rp4a.c:14: error: syntax error at '@' token

というエラーが消えません。
ソースの部分 printf("数字列判定プログラムです."); という単純な文です。
何処かほかの文に問題があるのでしょうか?
91デフォルトの名無しさんsage2005/11/09(水) 22:16:39
>>90
ぐぐれば出てくると思うけどな。
全角スペースがないかチェックしろ。
92デフォルトの名無しさんsage2005/11/09(水) 22:24:01
>>91
おお、消えました!
ありがとうございます!
93デフォルトの名無しさんsage2005/11/09(水) 23:07:46
>>89
うん、した。
ほかに何か考えられることは無いのですか?
94デフォルトの名無しさんsage2005/11/09(水) 23:47:15
俺なら次、ポートが開いてるか確認するかな。
そういえばcygsetupってIEの設定使うかどうかのチェックボックスもあったろ?
それ付けたり消したりしてテスト。
95デフォルトの名無しさんsage2005/11/10(木) 04:40:42
>>88
LANが遅いとタイムアウトするっぽいから会社で拾ってるなら要注意。
#何度ダウンロードしなおしたやら。
96デフォルトの名無しさん2005/11/10(木) 11:08:04
GCC4.0のWindows版バイナリってないの?
97デフォルトの名無しさんsage2005/11/10(木) 12:58:15
mingwでよければ
ttp://www.thisiscool.com/gcc_mingw.htm
ttp://www.reactsoft.com/
98962005/11/10(木) 13:20:09
>>97
ありがとうございます。
これってMinGWのフォルダに上書きすればいいですよね?
99デフォルトの名無しさん2005/11/10(木) 17:09:56
MinGW Developer Studioって日本語使えるようにならないでしょうか?
100デフォルトの名無しさんsage2005/11/10(木) 17:21:52
作者に聞け
100
101デフォルトの名無しさんsage2005/11/15(火) 23:09:38
おしえてください。完全初心者です。
Cygwinを日本語化して、KTerm経由で学校のUNIXサーバに接続しています。
しかし、UNIX側がEUC、Cygwin側のはSJISで日本語化しているため、
文字化けしてしまいます。
そこで、".setenv"をいじってUNIXの方もSJIS化してみました。
それでも、漢字コードの送受信が文字化けします。
ただ不思議なことに、"ls"コマンドを打ち込むと、SJIS設定の日本語ファイル名
は正常に表示されるのです。ちなみに、"ls"コマンドには".alias"をつかって
--show-control-charsをあらかじめ設定してあります。これがなくなると、
ファイル名も同様に文字化けします。

このようなことから、Kterm自体に日本語が表示できない…と言うわけではなさそう
なのですが、どうすればよいのかがさっぱり分かりません
普通の送受信漢字コードに"--show-control-chars"のような設定をできれば
よいのでしょうけれど、そのやり方がさっぱり見当もつかないのです。

分かりにくい説明で申し訳ありませんが、できれば解決の仕方を
ご教授ください。
102デフォルトの名無しさんsage2005/11/15(火) 23:42:42
今まで文字化けしなかったのに何か追加でインストールしたら
GCCまで文字化けするようになったんだけどそういう人いる?
103デフォルトの名無しさんsage2005/11/16(水) 00:53:36
>>101
Cygwinを複数起動してそれぞれSJISとEUCを表示できるようにしてみるとか。

>>102
>GCCまで文字化け
詳しく。
104デフォルトの名無しさんsage2005/11/16(水) 01:04:47
>101
どうしてもKtermじゃなきゃだめ?
UTF-8 TeraTermはなかなか良いです(中からcygwinも起動できるしSSH2も使える)
ttp://sleep.mat-yan.jp/~yutaka/windows/index.html
あるいはckでcygwinを使うとか
ttp://www.geocities.jp/cygwin_ck/
105デフォルトの名無しさんsage2005/11/16(水) 01:51:04
じゃなきゃ、そもそも日本語を使わないという選択肢
106デフォルトの名無しさんsage2005/11/16(水) 02:09:28
Cygwin放置してTeraTerm
107デフォルトの名無しさんsage2005/11/16(水) 02:44:17
cygterm経由でTeraTermなりputtyなり
108デフォルトの名無しさんsage2005/11/16(水) 07:56:22
>>103
GCCって全部メッセージは英語なはずなんだけど
Quaternion.h:26:7: キルケ・ no newline at end of file
とか変なのが出るんだよ。
これは最後に改行がないってことだってわかるからいいんだけど
全然わかんないのもあって困ってる。
友達に聞いたらおんなじ状態になってる人がいた。
彼はRubyを入れたらそうなったらしい。
109デフォルトの名無しさんsage2005/11/16(水) 13:17:27
警告:

が化けてるんだろうなたぶん
110デフォルトの名無しさんsage2005/11/16(水) 13:31:36
>>108
> GCCって全部メッセージは英語なはずなんだけど

んなこたーない。一部は $LANG や $LC_ALL や $LC_MESSAGES で切り替わる。
111デフォルトの名無しさんsage2005/11/16(水) 13:47:56
開発者にとっては日本語より英語のほうが使いやすいような
112デフォルトの名無しさんsage2005/11/16(水) 14:37:09
Meadow+cygwin+MingW+gccでWindowsアプリを作って1年ぐらいだけど。
今のところ何とかなってるけど、例えば、印刷プレビュー実装とかって…自力じゃ殆ど無理だよねぇ。
あー言うのはやっぱMSのVC++とかMFCとか使って実装するのか?
それとも現状の環境でもリンクできるライブラリとかあるのか?
# 無料、有料は問わない
マジレスキボーンヌ
113デフォルトの名無しさんsage2005/11/16(水) 16:15:35
工工エエエ(´д`)エエエ工工
114デフォルトの名無しさんsage2005/11/16(水) 16:59:34
wxWidgetsでもQtでも何でも使えや
115デフォルトの名無しさんsage2005/11/16(水) 19:14:17
印刷系ってあんまないよね
texやpdfで終われって事なんだろうけど
どっちもソース見て吐きそうになった
116デフォルトの名無しさんsage2005/11/17(木) 11:52:39
>>114
おいおい…あんなのしか無いの?
# MS以外まともな印刷プレビュ作れねぇ〜って事かよorz
# それでも(MSのでも)臭いって言うのに
117デフォルトの名無しさんsage2005/11/17(木) 15:14:15
┐(´д`)┌
118デフォルトの名無しさん2005/11/19(土) 07:48:02
自己誘導で来ました

MinGW-4.1.0とMSYS-1.0.10をインストールたのですが、
C言語ファイルのprintfに日本語があると実行したときに
文字化けしてしまいます

困っています。どうしたらいいでしょうか
119デフォルトの名無しさんsage2005/11/19(土) 13:52:50
>>118
ファイルにリダイレクトすればいいと思うよ。
そのファイルを適当なエディタで見れば化けない筈だから。
1201182005/11/19(土) 19:08:21
え・・・それって根本的な解決にはなってませんよね・・・

どうやっても無理ということですか?
121デフォルトの名無しさん2005/11/19(土) 19:30:50
http://www.insecure.org/nmap/index.html
強力なスキャン
122デフォルトの名無しさん2005/11/19(土) 20:05:25
>>118
文字化けするところの直前に文字'\'または'¥'を入れると直るかも。
123デフォルトの名無しさんsage2005/11/19(土) 20:51:43
>>119
日本語文字をエスケープされて化けてるから、ファイルに書いても意味ないよ。
>>122で対処するか、マルチバイト対応のコンパイラを使う。

ソースが日本語EUCならマルチバイト非対応コンパイラでも普通に通るので、
EUCで出力してnkf -sでShiftJISに変換するという手もないではない。
124118sage2005/11/19(土) 21:10:59
>>122
最終的に全ての文字の間に入れてみたんですが、無理でした・・・

>>123
すいません。nkf -sがよくわからないのでちょっと調べてみます
125デフォルトの名無しさんsage2005/11/19(土) 21:30:24
>>124
'\'挟むのは、必要な場所だけ。

たとえば"表示"なんかは典型的に化ける文字列だけど、これは
"表"の2バイト目が'\'と同じ文字コードなので、"示"の1バイト目と
組み合わせてエスケープシーケンスとして処理してしまうことに起因する。
("\n"とかの類として、2文字1組として処理してしまうわけだ)
つまり、"表"の1バイト目+"示"の、3バイトの文字列として表示してしまう。

"表\示"とすることで、"表"の2バイト目+'\'='\'そのものの
エスケープシーケンスとして処理させれば4バイト全部揃うので、
意図通りに"表示"と表示される。

nkfうんぬんは半分冗談なので、あまり気にされるな。
126デフォルトの名無しさんsage2005/11/19(土) 21:31:41
>>124
ひょっとして、コマンドプロンプトじゃなくrxvt.exeを使ってるとか。
127118sage2005/11/19(土) 22:19:19
>>126
118に書いているとおりMSYSを使ってます・・・
128デフォルトの名無しさんsage2005/11/19(土) 23:32:02
(゚Д゚)ハァ?
129デフォルトの名無しさんsage2005/11/19(土) 23:55:07
MSYSって日本語通るの?
130デフォルトの名無しさんsage2005/11/19(土) 23:59:29
んなこたない
131118sage2005/11/20(日) 00:01:36
コマンドプロンプトなんかうまくいかないんです。
どうもパスが通ってないっぽくて・・・
132デフォルトの名無しさんsage2005/11/20(日) 00:05:59
cygwin.bat使えばいいじゃない
133118sage2005/11/20(日) 00:10:12
コマンドプロンプトで
gcc 使ってコンパイルしようとしてもできないです
134デフォルトの名無しさんsage2005/11/20(日) 00:12:31
はぁ
135デフォルトの名無しさんsage2005/11/20(日) 00:21:41
日本語使わなければコンパイル通る?
136デフォルトの名無しさんsage2005/11/20(日) 00:25:13
さあ盛り下がってまいりました!!!!!11
137デフォルトの名無しさんsage2005/11/20(日) 00:29:34
「コンパイルできない」と一言言えば全て通じると思っていた15の春。
138118sage2005/11/20(日) 00:32:19
なんかできたっぽいです。
コマンドプロンプトを使うからと、MSYSをわざわざアンインストールしてからやってました
MSYSでやってた時に出た不具合も起きません。MSYSってなんだったんだろう・・・
本当に迷惑をおかけしましたm(_ _)m
139デフォルトの名無しさんsage2005/11/20(日) 02:39:59
ん?もう解決しちゃったの
msys.batでフォント指定のCourier-12をTerminal-14等にすれば日本語表示できたのだけど
140デフォルトの名無しさんsage2005/11/20(日) 03:03:05
すいません。
もう一度別の質問させてください。

MSYSでやってた時は、コマンドのHISTORYが保存されてたのですが、
コマンドプロンプトでは保存されてません。
これはただ単にソフトウェアの違いからくるものなのでしょうか
141デフォルトの名無しさんsage2005/11/20(日) 04:03:22
そうでーす
Shellの機能です
142デフォルトの名無しさんsage2005/11/20(日) 09:51:31
なんだかもう、ぐだぐだ。
環境の使い方をム板でやるなよな。
143デフォルトの名無しさんsage2005/11/20(日) 10:25:04
cygwinは環境とちゃうんやろか。
144デフォルトの名無しさんsage2005/11/20(日) 11:00:11
cygwinでのプログラミング技法≠cygwinの使い方
145140sage2005/11/20(日) 18:20:28
ありがとうございます
もう聞くことはないと思います・・・
146デフォルトの名無しさんsage2005/11/22(火) 19:36:22
GIMPスレからやってきました。
WinでGIMPをビルドできる環境を構築する方法を
おしえてくだしぁ;; MinGW&Msysでお願いします
しがない絵描きに愛の手を(*・ω・*)
147デフォルトの名無しさんsage2005/11/22(火) 19:56:59
MinGWでワイド文字使おうと思ったのですが、よくわからないので質問します。
1, L"日本語" が混じったソースのコンパイル通すにはどうしたらいいでしょうか?
2, wchar_tの内部表現は実装毎ということですが、MinGWは何を使っているのでしょうか?

getwsやwscanfを使えば環境の文字コードを自動で判定してUTF-16に変換してwchar_t
に入れてくれると思っていたのですが、GDBでp/xしてみたら、SJISのままでしかも
ひとつのwchar_tに対して1バイト分しか入っていない状態でした。これが正しい動作
なのでしょうか?
148デフォルトの名無しさんsage2005/11/22(火) 20:00:26
突然の質問失礼します。

このページを参考にして、
ttp://mocha.exblog.jp/297496/
LibXMLの導入を行おうと思い、XML-LibXML-1.58まではモジュールを追加できたのですが、
最後のXML-LibXSLT-1.57だけが失敗し、
makeしようとすると、

make: ***[blib/arch/auto/XML/LibXSLT/LibXSLT.dll]Error 2と出てきます。
またこのページを参考にし、
ttp://www.akatsukinishisu.net/wiki.cgi?mycmd=diff&mypage=Cygwin%A4%C8Perl%A4%CElibxml%B4%D8%CF%A2%A5%E2%A5%B8%A5%E5%A1%BC%A5%EB

libxml2-develをC:\cygwinで展開したのですが、それでも上記と同じ結果が出てきます。
(追記4の方法も試しましたが、うまくいきません)
(というかmakefileの文章が一致していません)

解決策を知っている方がいたらよろしくお願いします。
149デフォルトの名無しさんsage2005/11/22(火) 20:06:22
>>147
MinGWはstd::wstringもリンクできないし…。
150147sage2005/11/22(火) 20:44:37
setlocalでした・・・。Japanese_Japan.932を指定したら内部でちゃんとUTF16に
変換してくれるようになりました。。。ごめんなさい。
これで2と長文の疑問は解決しました。こんな事に一日無駄にした。。。

L"日本語" は諦めたほうがいいんでしょうか?
151デフォルトの名無しさんsage2005/11/22(火) 21:23:01
gccはUnicode文字列リテラル(L"〜")をまともに使えないらしいので、
諦めて別の方法を考えた方がよさげ。
152147sage2005/11/22(火) 21:51:55
>>151
ありがとうございます。了解しました。
153デフォルトの名無しさんsage2005/11/22(火) 23:34:21
質問です。
cygwin のパッケージ一覧を見ると、gcc 関連に cygwin 版と mingw 版が
あるみたいなんですが、どちらを入れるのが吉なんでしょうか。

自前で Un*x 系のソース取ってきて make したりするなら cygwin 版、
そういうことしないなら mingw 版でいいのかな、とか推測してるんですが。
154デフォルトの名無しさんsage2005/11/23(水) 00:37:21
おおむねそんなところ。unix的な部分への忠実度が違う(cygwinの方が忠実)。
ディスクに余裕があるなら、両方入れておいても損はしない。
オプションで使いわけられるし。
155153sage2005/11/23(水) 03:03:25
>>154
なるほど。
ありがとうございました。

> オプションで使いわけられるし。
調べてみました。-mno-cygwin ですね。
156デフォルトの名無しさんsage2005/11/26(土) 18:09:57

クロスコンパイルの環境を作りたいんだけど、

一般的には、

binutils のmake --target=<target>
gcc のmake --target=<target>
[g]libcのmake --target=<target>
必要なライブラリのmake --target=<target>

の順番でFA?




157デフォルトの名無しさんsage2005/11/27(日) 03:17:15
>156
ソースからビルドするってことですよね?
順番だけならそれでよいけどパッチが必ず必要ですよ
x86以外のtargetだとそれぞれにそこそこのパッチが用意されています
それとcygwin/mingwでとなるとそれ用のパッチも必要となります
どのパッチをどの順番で当てるかがキモです(結構ハマリます)
158デフォルトの名無しさんsage2005/11/29(火) 19:54:16
Cygwinのperl環境で、use IOを用いようとすると、
Patameterless "use IO" deprecated at 〜(以下ファイル名)
と返って来ます。

use IOは、perlに普通だったら入っているモジュールみたいなのですが…。
何か解決策を知っている方がいたらよろしくお願いします。
159デフォルトの名無しさんsage2005/11/29(火) 20:43:57
>>158
Patameterlessって何だ
160デフォルトの名無しさんsage2005/11/29(火) 20:55:04
あのな、エラーにしてもプログラムにしても、formに手書きするな。
コピペしろ。でないとお互いのためにならん。

>>158の内容に関してはコレ。
ttp://kobesearch.cpan.org/htdocs/perl/IO.pm.html#deprecated
161デフォルトの名無しさんsage2005/11/30(水) 18:33:05
最近gcc使い始めたのですが、
gccってUnicodeリテラル( L"ふーばー" みたいなの)をまともに使えないのでしょうか。
マルチバイト文字のリテラルだと確実にヘンなことになります。
一度 char の配列に入れておいてから mbstowcs で変換するとうまくいくのですが。
これはそういうもんだと思ってあきらめるしかないんですかね?

※上記は gcc 3.4.4 で確認
162デフォルトの名無しさんsage2005/11/30(水) 19:47:01
>>161
L"\u3075\u30fc\u3070\u30fc"
みたいにUnicodeエスケープして gcc -std=c99 や g++ とかなら多少は動いたかもしれない…

# gcj だと --encoding=Shift_JIS とかで済むのだが…
163161sage2005/11/30(水) 20:47:47
>>162
ありがとうございます。

> L"\u3075\u30fc\u3070\u30fc"
> みたいにUnicodeエスケープして gcc -std=c99 や g++ とかなら多少は動いたかもしれない…

gcc と g++ の両方で試してみましたが、文字列の末尾の文字が化けてしまうようです。
これでうまくいくならフィルタ書こうかとか思ったのですが…
あきらめて MBCS で書くことにします。
164デフォルトの名無しさんsage2005/11/30(水) 21:45:56
>>161
>>147-151あたりでも触れてるが、gccはASCIIをUTFにするのと同じやり方
(つまり1バイト毎の頭に\0を付ける)でマルチバイトリテラルも処理してしまうので、
L"〜"はマルチバイト環境では使い物にならない。

VC++あたりは元々マルチバイト対応してるから普通に使えるんだけどね。
165161sage2005/11/30(水) 22:10:21
>>164
あ、すぐ上でガイシュツだったんですね。すみません。

VC++ では _UNCODE を define して L"〜" (実際は _T("〜") ) で書くのに
慣れているので、いまさら MBCS でやりたくないとか思いましたが、仕方ないですね。
166デフォルトの名無しさんsage2005/12/01(木) 09:10:33
-finput-charset -fexec-charset でどうにかなるもの?
とりあえず cygwin で
 g++ -finput-charset=cp932 -fexec-charset=UCS-2
とかしてみたけど、 windows.h の extern "C++" がコンパイルできなくてテストできない。
167161sage2005/12/01(木) 13:03:32
>>166
それはすでに試していましたが、どうにもなりません (もちろん、C で書けばコンパイルできます)。
-fexec-charset=UTF-16 でも同様です。
どの方法を使っても化けかたが同じなので、いかなる場合でも
>>164 さんが書かれている妙な処理方法は変わらないようです。
関係ないですが、ソースのコードページがどうであれ、内部的には UTF-8 で持ってるっぽいですね。

仕方ないのでこんなことしてみました。

 class _T {
  wchar_t *m_p;
 public:
  _T(const char *p) { int len = ::strlen(p) + 1; m_p = new wchar_t[len]; ::mbstowcs(m_p, p, len); }
  ~_T() { delete[] m_p; }
  operator wchar_t*() const { return m_p; }
 };

 ::_wperror(_T("ふーばー"));

バッファを余分に取りすぎる場合がありますが、短く書きたかったので。
1681682005/12/01(木) 16:41:37
教えてください。
cygwinを使用していて/bin/以下で
「ls -al」と打つと、
「drwxrwxrwx+」
という文字が出てきますが、
最後の「+」ってなんですか?
169デフォルトの名無しさんsage2005/12/01(木) 17:08:20
コンソールに表示すると化けるんじゃないでしょうか?
マルチバイト文字のリテラルの処理はgccはちゃんとやってるみたいですが...
170デフォルトの名無しさんsage2005/12/01(木) 17:27:56
>>168
スレ違い。
'+'はディレクトリに対して、その他の属性が指定されていると見なせることを示す。
どうやらcygwinの場合はNTFSの場合に'+'がつくようだ。
171デフォルトの名無しさんsage2005/12/01(木) 18:34:41
>>169
マルチバイト文字は別に問題ない。
今話題にしてるのはUnicodeリテラルの問題。
172デフォルトの名無しさん2005/12/01(木) 21:25:56
iconvを使ったプログラムをcygwin上で書いていて、それを-mno-cygwinでコンパイルしようとしたら
iconv.hが見つからないというエラーメッセージが出るようになってしまいました。

gcc -H test.c で見てみると、インクルード先がmingwに変わっているので
mingw用にiconvをインストールすればいいんだろうことはわかりますが、
それってどこで拾ってこればいいのですか?

173デフォルトの名無しさんsage2005/12/01(木) 21:41:25
>>172
ソース拾ってきてmingw32用にコンパイルすればいいが…
面倒なら
ttp://cefiro.homelinux.org/resources/files/libiconv/
とかに落ちてるのを拾って使えばいい.
174デフォルトの名無しさんsage2005/12/01(木) 23:49:51
>>173
助言助かりました。おかげで問題なくリンクまで出来ることを確認しました。
175デフォルトの名無しさん2005/12/01(木) 23:57:04
cygwinとmingwでどれくらいの実行速度の差ができますか?
176デフォルトの名無しさんsage2005/12/02(金) 01:38:15
ほとんどないです
177デフォルトの名無しさんsage2005/12/02(金) 01:47:51
>>175
単に計算させるなら同じで差がでるのはAPI.
cygwinがエミュレーションしてるPOSIXなAPIを使った場合同等の処理をWin32 nativeなAPI
を使うのよりほとんどの場合遅くなる.どのくらい遅くなるかは使うAPI次第なので一概に
どのくらい速度差がでるとは言えない.
178デフォルトの名無しさんsage2005/12/03(土) 23:43:52
質問お願いします。

バージョンの古いGCCで静的ライブラリ(lib***.a)を作ります。
より新しいGCCを使用してコードを書き、このライブラリとリンクすることを考えます。

GCCバージョン間のライブラリ形式の互換性によって、リンクができる場合と
そうでない場合があるらしいですが、それは、どこを調べればわかるでしょうか?

「GCC リンカ 後方互換性 ライブラリ
static library compatibility gcc version backward」 などで子一時間ぐぐってみましたが、
さっぱりわかりませんでした orz
よろしくお願いします。
179デフォルトの名無しさんsage2005/12/03(土) 23:53:25
>
ABI GCC
180デフォルトの名無しさんsage2005/12/04(日) 00:53:55
gcc(Cの部分)のABIは昔から変化してないよね、たしか。
g++は3の近辺に断絶があったと思ったけど。
前スレか、gcc関連のどっかのスレで読んだ覚えが。
181178sage2005/12/04(日) 09:38:23
>>179
>>180
なんとか調べれそうです。ありがとうございました。
182デフォルトの名無しさんsage2005/12/05(月) 08:35:33
       __________
      /━━━━━━━━━ \
     |┃| ̄ ̄|. 〇 〇 [大月]┃|
     |┃| ̄ ̄|| ̄ ̄ ̄ ̄ ̄ ̄|┃| プオーン!!!
     |┃|__||______|┃|
     |┃               JR ┃|
     |┗━━━━━━━━━┛| \('A`)/ ミ     gccのコンパイル マンドクセ
     |   ━━ ━━ ━━.  |   ( )  ミ
     |     [中央.特快]    |   └└ミ
     |      \_/      .|
     |  〇     ━━━   〇  |
     |___________|
      │     │[=.=]|     |
      └─────────┘
183デフォルトの名無しさんsage2005/12/06(火) 15:54:35
cygwinのコンソールアプリケーションででキーボードイベント(keyup, keydownなど)
の取得はどうやればいいのでしょうか?
184デフォルトの名無しさんsage2005/12/06(火) 16:17:08
Win32コンソールにそんな概念あったっけ?
185デフォルトの名無しさんsage2005/12/06(火) 23:34:22
>>183
WindowsMessageを扱いたいって意味なら、/dev/windows使うといいかも。使い方は
ttp://www.tom.sfc.keio.ac.jp/~sakai/d/?date=20020827#p03
とか参考になるかと。
186デフォルトの名無しさんsage2005/12/08(木) 01:22:37
>>185
ありがとうございます。キーボードを鍵盤に見立てた電子オルガンを作れ
という学校の課題がありまして、ノートのオンオフにキーボードイベントが
使えないかと思ったんです。
getch()だとオンは取れてもオフの取り方がわからなかったので質問した
しだいです。
今はGLUTのキーボード関連のコールバック関数を使っています。
187147sage2005/12/11(日) 13:17:07
L"日本語"
-finput-charset=cp932 -fexec-charset=cp932
でやっと通った・・・。ちゃんと内部的にもUTF16になってるし。
亀レスだけど、161さんは、-fexec-charset=cp932で通るんじゃないかな?
188147sage2005/12/11(日) 13:19:26
wchar_t ws[] = L"表示";
char mbs[] = "表示\0";
short *mbs_l = (short *)mbs;
int i;
setlocale(LC_ALL, "Japanese_Japan.932");

wprintf(L"%s\n", ws);
printf("%s\n",mbs);
for(i=0;ws[i] != L'\0'; printf("%hx ", ws[i++]));
printf("\n");
for(i=0;*(mbs_l+i) != 0; printf("%hx ", *(mbs_l+i++)));
return 0;

結果
表示
表示
8868 793a
5c95 a68e
189デフォルトの名無しさんsage2005/12/11(日) 15:12:25
ほおー
リテラルも実は実装されていたのか。乙 >187
190デフォルトの名無しさんsage2005/12/11(日) 15:40:44
>>187
なるほど…
gcc はどのバージョンでしょうか?
191161sage2005/12/11(日) 15:46:21
>>187
いえ、通りませんが。
gcc のバージョンを教えていただけませんか?
192デフォルトの名無しさんsage2005/12/11(日) 16:05:26
>>191
187 じゃないけどね。
手元の cygwin g++ 3.4.4 では -finput-charset=cp932 -fexec-charset=cp932 で
まともに動いてるみたい。

>161 で言う「ヘンなこと」と、
>187 のオプションをつけても「通りません」っていうのを
もうちょっと具体的に書いてみると、何かわかるかも。
193161sage2005/12/11(日) 16:36:06
わかりました。_wperror だとダメなんです。

----
std::setlocale(LC_ALL, "Japanese_Japan.932");

wchar_t ws[] = L"表示";

::_wperror(ws);
::_wperror(L"表示");

std::wprintf(L"%s\n", ws);
std::wprintf(L"%s\n", L"表示");
----
-mno-cygwin -finput-charset=cp932 -fexec-charset=cp932 -fshort-wchar -D_WIN32_WINNT=0x0500 -D_UNICODE -DUNICODE -D_GLIBCXX_USE_WCHAR_T=1
でコンパイル

結果
----
表=: No error
表: No error
表示
表示
----
194161sage2005/12/11(日) 16:42:12
ちなみに、 _wperror だと「表示」のような '\' を含む文字列に限らず、
テストした限りではどんな文字列でも上記のように末尾が欠けます。

また同様に、wprintf ではどんな文字列でも問題ないようです。

_wperror は MSVCRT 固有なので引き渡しがうまくいっていないのかもしれません。
でも -mno-cygwin ですから、wprintf も MSVCRT 由来だと思うのですが…
195147sage2005/12/11(日) 18:54:57
本当だ。
でも、wprintfで表示できてるんだから、MBS定数->WS定数展開は出来てると思う。
単純にwperrorのせいかと。

>>149
これまた亀レスですが、wstring自体は使えますよ?
wcoutがワイド文字対応のC関数が足りていないため使えないというだけで。
int main(){
std::setlocale(LC_ALL, "Japanese_Japan.932");
wstring str = L"wstringテスト";
wprintf(L"%s",str.c_str());
}
196161sage2005/12/11(日) 23:50:39
>>195
> 単純にwperrorのせいかと。
あれからしばらくいろいろ試してみて、そんな気がしてきたところです(w
MBCS → mbcstowcs による変換 → _wperror に与える
でも同じ(まずい)状態になりました。末尾に文字列を連結する部分がうまくないのでしょう。
MBCS で言えばシングルバイト文字である文字だけで構成されている場合のみ問題が起きません。

他の非標準関数ではいまのところ問題を発見できていませんが、
MSVCRT 由来のものや Windows API では、なにか問題が起きることがあるかもしれません。
しかしgccのせいではないでしょう。

以前から -finput-charset=cp932 -fexec-charset=cp932 でのテストも
行っていたのですが、大半は _wperror を使っていたのが災いしました。
おかげで助かりました。どうもありがとう。
197デフォルトの名無しさんsage2005/12/12(月) 23:16:29
うほ、いけるのか・・・試した人GJ
198デフォルトの名無しさん2005/12/15(木) 13:07:49
g++ (GCC) 3.4.4 (cygming special) (gdc 0.12, using dmd 0.125)
を使っているのですが

template <typename T> struct NumericTypeInfo {};
template <> struct NumericTypeInfo<int> { typedef long LongerType; typedef short ShorterType; };
template <> struct NumericTypeInfo<short> { typedef int LongerType; typedef char ShorterType; };
template <> struct NumericTypeInfo<long> { typedef long long LongerType; typedef int ShorterType; };

template <typename T>
T TestFunc(T val)
{
#if 0
NumericTypeInfo<int>::LongerType tmp = val; // これは大丈夫
#else
NumericTypeInfo<T>::LongerType tmp = val; // コンパイルエラーになる...
#endif
tmp << 8;
tmp >> 8;
return tmp;
}

これでコンパイルエラーになります。コンパイラのバグでしょうか?
199デフォルトの名無しさんsage2005/12/15(木) 13:47:27
>>198
-NumericTypeInfo<T>::LongerType tmp = val; // コンパイルエラーになる...
+typename NumericTypeInfo<T>::LongerType tmp = val; // コンパイルエラーになる...
200198sage2005/12/15(木) 14:43:44
>>199
あ”〜!typenameが必要だったんですね!!
どうみても 鳥山「ヤムチャ…?」 状態です。
本当にありがとうございました。
201デフォルトの名無しさん2005/12/21(水) 11:32:16
今までC中心で使ってきたのですが、
新たにJavaを勉強しようと思い、gcjを入れてみたのですが

gcj -C Sample.java
java Sample

としても動きません。Hellow World!を表示させたいのですが・・・
202ペンギン2005/12/21(水) 13:34:05
cygwin上から startxコマンド実行 エラーメッセージ
giving up.
xinit: Connection refused (errno 111): unable to c
xinit: No such process (errno 3): Server error.

以上のエラーメセージの回避策、ご教授御願い致します。
203デフォルトの名無しさんsage2005/12/21(水) 19:41:29
>>201
うちでは動きました。
Mingw GCC 3.4.2, VMはSunの1.5
204デフォルトの名無しさんsage2005/12/21(水) 23:24:31
>>201
>>203
SunのVM使うならわざわざgcj使う意味ねえだろ…
javac や jikes 使っとけよ…
205201sage2005/12/21(水) 23:44:01
>>204
ありがとうございます

javac Sample.java

でやるとコマンドは認識されていませんと出るので
色々ぐぐって、gcjコマンドで試しにやってみたところ
コンパイルはできるのですが

java Sample

で実行すると

Exception in thread "main" java.lang.NoClassDefFoundError: Sample

と出て実行できません。.classファイルは出来ているのに・・・
206デフォルトの名無しさんsage2005/12/21(水) 23:50:02
>>205
mainクラスの指定が必要だった気がする。

--main=クラス名
こんな感じで。
207デフォルトの名無しさんsage2005/12/22(木) 00:14:41
>>201
javac を使えってのは Sun の JDK をインストールしてそこに入ってるjavacを使えってことだ…
この場合 gcj は必要ない.JDKのインストールや設定が載ってる解説本でも買って読め.

gcj を使って Sample.java をexeにして実行したいっていうなら
gcj --main=Sample -o Sample.exe Sample.java
って感じでコンパイル.できたら
./Sampple.exe
ってやって実行する.
208203sage2005/12/22(木) 19:41:51
>>204
動かないって言うから試しただけなんだけどな・・・

>>205
でもってjavac使うならここは板違い
209デフォルトの名無しさんsage2005/12/23(金) 22:01:49
>>208
それを言ったらスレタイからするとcygwinのsetup.exeでインストールされるMinGW環境のGCCの話しか出来なくなる希ガス。
javac使うなら
ttp://www.02.246.ne.jp/~torutk/javaoncygwin/javaoncygwin.html
見れ。
まあJDK+NetBeans入れた方が手っ取り早いと思うが。
210デフォルトの名無しさん2005/12/24(土) 17:14:17
エディタを追加インストールして、emacsを使えるようにしたんですが、
ほかの主な機能は使えるのに、「Ctrl-X Ctrl-C」でファイルを終了させる
機能だけうまくできません。どうしたらいんでしょう?
211デフォルトの名無しさんsage2005/12/24(土) 18:41:18
うおっ -finput-charset=cp932 -fexec-charset=cp932 なんてあったんだ。
今までわざわざ自前のフィルター通してコンパイルしてたよorz
212デフォルトの名無しさんsage2005/12/24(土) 19:04:17
>>210
set CYGWIN=tty
2132102005/12/24(土) 20:28:32
>>212
解決しました。ありがとうございます。
214デフォルトの名無しさん2005/12/30(金) 22:26:58
cygwin で動く g++ は
#include <stdexcept> などの
ヘッダファイルをどこから読んでいるんでしょうか?
/usr/include/c++/3.4/stdexcept
とか見あたらないのですが・・・
215デフォルトの名無しさんsage2005/12/30(金) 22:28:57
%find -name・・・ 使って自力で探しませう。
216デフォルトの名無しさん2005/12/30(金) 22:33:17
/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/stdexcept
に見つかりました。/usr 以下しか find してませんでした。
217デフォルトの名無しさんsage2005/12/30(金) 22:34:50
男はwin2kにVMware
218デフォルトの名無しさんsage2005/12/30(金) 22:37:06
>>201
hellow world!ってどんな世界か
ぜひとも見てみたいので今度連れて行ってください。
219デフォルトの名無しさんsage2005/12/30(金) 22:55:32
Hell low world で、日本の意
220デフォルトの名無しさんsage2005/12/30(金) 23:08:04
>>219
オオ!ジャパンノ コトデスカ〜!
ツレテッテ クダサ〜イ!!!
221デフォルトの名無しさん2005/12/30(金) 23:16:49
gcc でコンパイルしてもマクロ __GCC__ が定義されて
いないような気がするんですが・・・・

Visual C++ でコンパイルするときと切り替えるために、
_MSC_VER と __GCC__ を見ているのですが、
それじゃだめなんでしょうか・・・
222デフォルトの名無しさんsage2005/12/30(金) 23:47:40
>>221
__GNUC__
223デフォルトの名無しさん2005/12/31(土) 00:00:07
>>222 __GNUC__ でしたか・・
今 g++ -c -E -dD test.c ってやってみて確認しました。
__GNUG__ なんてものもあるんですね。
つーか、俺、なんで __GCC__ だって思いこんでたんだろ。
あと、この手のマクロって specs に書かれてるものもあるし
そうでないものもあるんですね。
224__GNUG__2005/12/31(土) 00:01:36
The GNU C++ compiler defines this.
Testing it is equivalent to testing
(__GNUC__ && __cplusplus).
225デフォルトの名無しさん2005/12/31(土) 16:08:33
CygwinでNTL(http://www.shoup.net/ntl/)を使えるようにしたいのですが
インストール方法が分かりません。
誰かご教授下さい。お願いします。
226デフォルトの名無しさんsage2005/12/31(土) 16:58:32
configureもmakefileもついてるのに分からんとは・・・
227デフォルトの名無しさんsage2005/12/31(土) 22:56:16
まともな脳味噌装備してなかったらそれでもわからんだろうさ
2282252006/01/02(月) 16:55:06
makeしようとしたら

>Colon expected
>Command syntax error

と出ました。
229デフォルトの名無しさんsage2006/01/02(月) 17:22:02
インストールの仕方もしっかり書いてくれてるのに
230デフォルトの名無しさんsage2006/01/03(火) 17:57:51
>> 225
げ、あっちとのマルチか。
一応言っとくと、ntl-5.4で試したが、doc/config.txt にやり方がちゃんと書いてある。
この手順でntl.aが生成できたし、make checkも動いたぞ。
2312252006/01/03(火) 20:59:19
解決しました。
232デフォルトの名無しさんsage2006/01/04(水) 00:19:14
>>230
なんだ、225はマルチだったのか
233デフォルトの名無しさん2006/01/05(木) 09:16:32
gcc の吐き出すエラーメッセージって

    Main.c:123: error...

のようなフォーマットなんですが、これを

    D:\AVR\Project1\Main.c(123) : error...

のようなフォーマットで吐き出させるようにできませんかね?
標準エラー出力を捕捉して sed などで書き換えるしかないのでしょうか?
234デフォルトの名無しさんsage2006/01/05(木) 09:43:37
>>233
コンパイルするときの入力にフルパス入れれば、
と思ったけど、行番号のフォーマットまで変えるのか。
置換しる。
235デフォルトの名無しさんsage2006/01/05(木) 14:36:14
いまring系のサーバってメンテナンス中?
236デフォルトの名無しさんsage2006/01/05(木) 16:42:32
つ[ICMP]
237デフォルトの名無しさんsage2006/01/08(日) 11:17:13
下記のコードをコンパイルしようとしたところ
リンカに _inet_lnaof がないと怒られてしまいました。

何が問題なんでしょうか……

gccのバージョンは3.4.4-1
glib-develのバージョンは1.2.10-3
を利用しています。

#include <stdio.h>
#include <arpa/inet.h>

int main() {
struct in_addr addr;
inet_aton("192.168.0.1", &addr);
inet_lnaof(addr);
}
238デフォルトの名無しさんsage2006/01/08(日) 12:08:52
ライブラリが不足しているのでは?
239デフォルトの名無しさんsage2006/01/08(日) 12:55:45
cygwin でサポートされてないだけっしょ。
あっちゃこっちゃで言及されてるよ。
240デフォルトの名無しさん2006/01/08(日) 20:00:30
MinGW から UNLHA32.DLL を静的に利用したいのですが、
def ファイルの書き方がわかりません。
(MinGW(mingw-jp-20040224), UNLHA32.DLL(Ver 1.91g))

<やったこと>
(1) def 作成。
  >pexports UNLHA32.DLL > unlha32.def
(2) ライブラリ作成。
  >dlltool --def unlha32.def --dllname UNLHA32.DLL --output-lib libunlha32.a
(3) コンパイル。
  >g++ -c test.cpp
  >g++ test.o -o test -L. -lunlha32
 ちなみにソースはこのような感じ
  void foo(void)
  {
    HARC harc = UnlhaOpenArchive(0, "test.lzh", 0);
    UnlhaCloseArchive(harc);
  }
ここでエラーになります。
test.o(.text+0x21):test.cpp: undefined reference to `UnlhaOpenArchive@12'
test.o(.text+0x9c):test.cpp: undefined reference to `UnlhaCloseArchive@4'
2412402006/01/08(日) 20:01:00
(続きです)
そこで、def ファイルに問題があると思い、
(4) unlha32.def を書き換え
  UnlhaCloseArchive
  UnlhaOpenArchive
 を以下のように修正↓
  UnlhaCloseArchive@4
  UnlhaOpenArchive@12

で再度 (2)(3) を行ったところ、今度はコンパイルが通りました。
しかし実行してみると、
  test.exe - エントリ ポイントが見つかりません
  プロシージャ エントリ ポイント UnlhaCloseArchive@4 が
  ダイナミック リンク ライブラリ UNLHA32.DLL から見つかりませんでした。
というメッセージが出て終了してしまいます。

def の書き方が良くないのでしょうか?
(長くてごめんなさい)
242デフォルトの名無しさんsage2006/01/08(日) 20:27:04
>>240
extern "C" しないとまずいんとちゃう?名前マングリングされるから。
243240sage2006/01/08(日) 20:51:40
>>242
extern "C" は UNLHA32.H に入っております
244デフォルトの名無しさんsage2006/01/08(日) 21:29:47
dlltoolで-k (--kill-at)を付けたら?
245240sage2006/01/08(日) 22:16:23
>>240
できました!
ありがとうございます。今夜はぐっすり眠れそうです。
246240sage2006/01/08(日) 22:17:19

× >>240
>>244
ですごめんなさい。
247デフォルトの名無しさんsage2006/01/09(月) 03:35:24
>>238-239
ありがとうございます
ヒントをいただいて、libc.aをobjdumpしたらinet_lnaofがありませんでした

cygwinは捨てることにします
248デフォルトの名無しさんsage2006/01/13(金) 11:47:43
ちょいと質問。
cygwin1.dllを使わないように-mno-cygwinつけるとnet関係を中心にコンパイルが通らなくなるけど、
これって要は、その辺(net関係)の関数の実体がcygwin1.dllに入っているってことなのかな?

それと、GPLに準拠(つーかオープンソースライセンスか)するならcygwin1.dllを
配布(或いは利用者に拾ってもらう)してもよいと考えていいのかな?
249デフォルトの名無しさんsage2006/01/13(金) 19:38:53
まずcygwin1.dllってのはだな(ry
250デフォルトの名無しさんsage2006/01/13(金) 20:18:41
それでスタートアップルーチンからdll_crt0関数をだな(ry
251デフォルトの名無しさんsage2006/01/13(金) 22:45:09
もうソースだけ配布したら?
252デフォルトの名無しさんsage2006/01/14(土) 07:46:42
そろそろ 3.4.5 リリース
253デフォルトの名無しさんsage2006/01/14(土) 22:56:07
オフィシャルでは 3.4.6 が1末を目標に出てくるのに、3.4.5 が RC だなんて。。。

つか、RC ばっかりで正式版が出てこない最近の MinGW っていったい。。。
254デフォルトの名無しさんsage2006/01/14(土) 22:56:38
失礼1末は2末の間違え。
255デフォルトの名無しさん2006/01/19(木) 01:20:24
昨日からC言語を始めて初歩のプログラムを書いてます。
内容は
/* MyC.c */
#include <stdio.h>

int main(void) {
printf("My C Program\");
return 0;
}
という簡単なものなのですが
これをgccでコンパイルしようとしたところ
No include path in which to find stdio.hと表示されてしまいます。
どうすればコンパイルできるようになるのでしょうか?
256デフォルトの名無しさんsage2006/01/19(木) 01:38:58
>>255
まずはコンパイルするためのコマンドラインを確認。
それだけのプログラムなら
 gcc MyC.c -o MyC.exe
で MyC.exe が出来上がるはず。

それでもダメなら、
 gcc -v -fsyntax-only MyC.c
とかやって、正しくインストールされているか調べて対応する。
257デフォルトの名無しさんsage2006/01/19(木) 03:54:39
┐(´ー`)┌
258デフォルトの名無しさんsage2006/01/19(木) 06:27:53
まあガンガレ
259デフォルトの名無しさん2006/01/19(木) 13:40:12
>>256
助言ありがとうございます。

> gcc MyC.c -o MyC.exe
>で MyC.exe が出来上がるはず。
とやってみたのですがやはりmyc.c:2: No include path in which to find stdio.hと表示されてしまいます。

> gcc -v -fsyntax-only MyC.c
>とかやって、正しくインストールされているか調べて対応する
とやってみたところ、Using bulitin spece.
gcc version 2.9-arm-000512
 cpp -lang-c -v -jprefix(省略

GNU CPP version 2.9-arm-000512 (Thunb/elf)
#include ",,," search starts here:
End of search list.
myc.c:2: No include path in which to find stdio.hと表示されてしまいます。
と出てしまいます。

スレ違いでしたら誘導お願いします。
260デフォルトの名無しさんsage2006/01/19(木) 14:12:43
>>259
そのgcc、どうやってインストールしたの?
261デフォルトの名無しさんsage2006/01/19(木) 17:55:17
初心者がいきなりarmにthumbだって?
お前ゲーム製作板に帰った方がいいんじゃねえか?
262デフォルトの名無しさんsage2006/01/19(木) 19:35:32
mingwの方が初心者にはいいような。
263デフォルトの名無しさんsage2006/01/19(木) 22:48:45
>>255
-printf("My C Program\");
+printf("My C Program\n");
264デフォルトの名無しさん2006/01/20(金) 00:19:28
「GCC コンパイラ 利用」でグーグル検索してそれらしいところを読んでインストールしました。

armとかはゲーム専用のコンパイラなのですか?
日本語で詳しく解説されている所がなかったのでとりあえず利用してしまったのですが・・・。
よく読んだらGBAの開発サイトでした。

で今度はBorland C++ Compilerを使うことにしました。
そのFQAをみてみたら同じような問題がありまして解決できました。

includeの場所を示すファイル自体が設定されていないのが原因だったようです。

>>260-263
皆さん色々とありがとうございました。
タイトルにあるコンパイラを使わなくなってしまったのでこれにて失礼いたします。
265261sage2006/01/20(金) 02:07:01
予想していたことがそのままどんぴしゃで当たってたわけだな。
GBAプログラミング研究所のチュートリアルを見て入れたgccだろうと思って
ああ書いただけであって、ARMはゲーム専用ってわけじゃない。
もう見ることは無いんだろうけど一応。
266デフォルトの名無しさんsage2006/01/20(金) 08:20:16
-Iでインクルードパス指定したらあかんの?
267デフォルトの名無しさんsage2006/01/20(金) 09:19:13
>>266
コンパイル通ってもできあがるのはARM用だからWindowsじゃ動かんし。
268デフォルトの名無しさん2006/01/20(金) 10:32:07
素人な質問をしてしまって申し訳ありませんが、
cygwin上でfortran90のコンパイルって可能なのでしょうか?
g90みたいなものって存在しているのですか?
マニュアルから-ff90なんていうオプションを付けてみたのですが
効果なしでした・・・。
269デフォルトの名無しさんsage2006/01/20(金) 10:41:06
>>268
cygwinのインストーラから出来るのはg77だけ。
g77は独自拡張でfortran90にやや対応しているけど完全ではない。
ttp://gcc.gnu.org/wiki/GFortranBinariesCygwin
ここ参考にしていれてみ。
もちろんソースからmakeしてもいい。
ftp://ftp.gnu.org/gnu/gcc/
270デフォルトの名無しさんsage2006/01/20(金) 20:05:52
cygwinの質問です。
まず、前提を書きます。
1.俺はXウインドウを使っていますが、それがどういう仕組みで
  動いているか全く分かってない人間です。
2.cygwinが動作しているクライアントのIPはA.B.C.Dであるとし
  ます。(DOS窓のipconfigで確認した値)

cygwinをフルインストールして
cygwin\usr\X11R6\bin\startxwin.bat
を実行したところ、Xウインドウっぽいウインドウが出ました。
そこで xterm & を実行すると、クライアントのxtermが正常に実行
されます。
次にrloginで別のUnix端末にアクセスし、
 xterm -display A.B.C.D:0.0 &
を実行したのですが、"ディスプレイ A.B.C.D:0.0 に表示できません"
と言った旨のエラーが出て正常動作しません。
"startxwin.bat" 中の "run XWin -multiwindow..." の "-multiwindow"
を削除し、ウインドウマネージャをtwm(fvwm2も試した)にしても状況は
変わりません。

同じクライアントに Exceed というXアプリケーションが入っていますが、
こちらはrloginでUnix端末にアクセスし"xterm -display A.B.C.D:0.0 &"
しても正常に動作します。

cygwinのXWinで正常にUnix端末のxtermが起動しないのは、そういうものな
のでしょうか? それとも何かの設定をいじる、もしくはxtermのオプショ
ンを変える等で正常に動作するものなのでしょうか?
271デフォルトの名無しさんsage2006/01/20(金) 20:10:41
>>270
E.F.G.H.をリモート端末のIPとすると、ホストから
xhost +E.F.G.H
272270sage2006/01/20(金) 20:20:30
>>271
すばやい回答ありがとうございます。助かります。
現在家から書き込んでいて270の環境にないので、月曜に確認し、
追って結果報告させていただきます。
273デフォルトの名無しさんsage2006/01/20(金) 21:53:47
スレ違いな報告はいらない。
2742682006/01/21(土) 04:46:29
269様、
ありがとうございました。
おかげ様で gfc でコンパイルできるようになりました。

追加の質問で申し訳ないのですが、
コンパイラをgfcとした時に、
cygwin上でbig_endianでのin/outputを
扱いたいのですが可能でしょうか?
知ってるオプションetcは一応試したのですが・・・。
275デフォルトの名無しさんsage2006/01/21(土) 10:33:01
>>274
ttp://wind.geophys.tohoku.ac.jp/~sawada/tools/endian.html
これ以上のことはシラネ
276デフォルトの名無しさんsage2006/01/21(土) 11:36:00
arigatou sawada
277デフォルトの名無しさんsage2006/01/21(土) 19:40:21
mingw と gcc 3.4.4 でコンパイルに挑戦しています。
対象はmutellaというコマンドラインのgnutellaサーバントです。
http://mutella.sourceforge.net/

必要なライブラリは別途mingwPORTを用いてインストールしました。
実際にコンパイル作業に入ると ./configure で

checking for socket in libc... no
checking for socket in xnet... no
configure: error: We cannot live without socket() function!

と表示され処理が中断してしまいます。config.logを見ると

configure:7352: checking for socket in libc
configure:7377: g++ -o conftest.exe -g -O2     conftest.cc -lreadline  -lz >&5
conftest.cc:32:26: sys/socket.h: No such file or directory

と表示されsocket.hが見つからないというメッセージが出力されていました。
どのようにしたら、コンパイルを成功させることができるかおわかりの方、
よろしくお願いいたします。
278デフォルトの名無しさんsage2006/01/21(土) 19:45:34
>>277
ソケットを使うプログラムだったら、そのプログラムがWindowsで動く
ように書かれていない限り自分でコードを書かずにMingwでコンパイル
するのは無理だよ。
Cygwinだったらできるかもね。

279デフォルトの名無しさんsage2006/01/21(土) 19:50:42
>>278
ありがとうございます。cygwinで試してみます。
280デフォルトの名無しさんsage2006/01/22(日) 19:32:06
Mingwでwinsock使うには何か特別なことが必要なんでしょうか?
undefined referenceエラーがでてコンパイルできません。

gcc -lws2_32 -lwsock32 -omain main.c
C:\DOCUME~1\xxxx\LOCALS~1\Temp/cccXaaaa.o(.text+0x5a):main.c: undefined reference to `WSAStartup@8'
C:\DOCUME~1\xxxx\LOCALS~1\Temp/cccXaaaa.o(.text+0x6d):main.c: undefined reference to `gethostbyname@4'
C:\DOCUME~1\xxxx\LOCALS~1\Temp/cccXaaaa.o(.text+0x1d4):main.c: undefined reference to `WSACleanup@0'
collect2: ld returned 1 exit status
281デフォルトの名無しさんsage2006/01/22(日) 23:40:35
>>24
282デフォルトの名無しさんsage2006/01/23(月) 00:24:23
インクルードパスとライブラリパスのオプション位置はそこなんだけどねぇ。
283デフォルトの名無しさんsage2006/01/23(月) 09:40:55
>281
gcc -otest test.c -lws2_32 で通った。
thanks
284280sage2006/01/23(月) 09:44:54
>281
gcc -otest test.c -lws2_32 で通った。
thanks
285デフォルトの名無しさんsage2006/01/25(水) 17:45:50
最近MinGWを使い始めて気になったのですが、
MinGWは静的リンク出来るCランタイムを持たない方針なのですか?
msvcrt.dllでOKという感じなのでしょうか。

こんなものもあったみたいですが。
http://mingwacr.sourceforge.net/
286デフォルトの名無しさんsage2006/01/25(水) 19:37:17
>>285
そういう方針です.
287デフォルトの名無しさんsage2006/01/25(水) 23:10:57
cygwin1から
getreent.o、nl_langinfo.o、nanosleep.o、・・・とか、いくつかがめてきて、
msys-1.0.dllにリンクさせると恐ろしくサクサクになったぜ!

道のりは険しいが皆も試してみ!config.hでHAVE_*消しまくり
288デフォルトの名無しさんsage2006/01/26(木) 07:33:15
>>287
GJ!
本家にfeedback
てか msys update されないねえ…
289デフォルトの名無しさんsage2006/01/26(木) 10:01:04
すれ違いかも知れませんがちょっと質問させてください。
Lame9.72b2をMinGW+gcc3.4.2でコンパイルしたんですが、バイナリのサイズがrarewares等で配布されている
ものと比べるとかなり大きく200kBに対して900kBぐらいの大きさになります。
rarewaresではICL4.5を使用しているみたいですが、コンパイラによってこんなにサイズが違ってくるものなのですか?

290デフォルトの名無しさんsage2006/01/26(木) 10:02:59
単に strip ?
291デフォルトの名無しさんsage2006/01/26(木) 10:40:04
>>290
stripオプション付けてコンパイルしたら306kBになりました。
ありがとうございました。
292デフォルトの名無しさんsage2006/01/26(木) 12:44:38
後は最適化の違いかな?
293デフォルトの名無しさんsage2006/01/26(木) 12:56:04
インライン展開とかかな。
294デフォルトの名無しさんsage2006/01/26(木) 14:28:17
単にupxだったりして。
295デフォルトの名無しさんsage2006/01/27(金) 17:05:28
MinGW+MSYS でicu3.8 のコンパイルとインストールを行った後に
icu-config がライブラリが見つからない旨のエラーを出して使えない…
MSYSでは無理なのかな。
296デフォルトの名無しさんsage2006/01/28(土) 11:15:40
>>295
pathが通ってないと見た
297デフォルトの名無しさんsage2006/01/29(日) 18:41:41
>>296
レスありがとう。
調べてみたのですが作られるライブラリが.dllになっていて
icu-configに必要なlibicu*.a が行方不明のようでした。
一体どこに行ったのやら…。--staticつけてもダメみたいで
298デフォルトの名無しさん2006/02/04(土) 00:32:36
g++ (GCC) 3.4.4 (cygming special) を使ってます。
少しでも include 不足があったらコンパイルエラーにするようなオプションってありませんか?
#include <cstdio> を忘れて printf を使ってコンパイル通るのが困るのですが…….
299デフォルトの名無しさんsage2006/02/04(土) 01:20:45
MinGWのCandidateにgcc3.4.5が上がっているけど、まだ手を
出さない方がいいかな?
300デフォルトの名無しさんsage2006/02/04(土) 05:54:00
>>298
-wallで出てきたウォーニング全て潰すのじゃ駄目なのか?
301300sage2006/02/04(土) 05:58:32
おっと。 -Wall だった。
それと --fatal-warnings が使えるかもしれない。
302デフォルトの名無しさんsage2006/02/04(土) 09:30:24
-Werror-implicit-function-declaration
はC++じゃ有効じゃねえかんねえ
303デフォルトの名無しさんsage2006/02/04(土) 11:00:58
そもそも、あるヘッダの中でほかのヘッダを #include してることがあるから、
完全にチェックするのは無理

違うコンパイラだとヘッダの依存関係が変わるから、
gcc で通ってもほかで駄目という移植性のないコードにならないよう、
必要なヘッダを網羅しているかどうか注意深くチェックするしかないと思われ
304デフォルトの名無しさんsage2006/02/04(土) 11:40:57
まずinclude漏れというのを定義すれ。
定義できたらそれをチェックするプログラムを自分で作れ。
305デフォルトの名無しさんsage2006/02/05(日) 02:46:13
/* include漏れchecker 1.0 */
#include <foo.h>
#include <bar.h>
// *.h 全部書く

int main(void) {return 0;}
306デフォルトの名無しさんsage2006/02/05(日) 02:48:43
makedepend
307デフォルトの名無しさんsage2006/02/05(日) 05:38:41
>>299
3.4.4に3.4.5を入れて3〜4MBのソースを再コンパイルしてみたけど
こちらでは特に問題なかったよ。
308デフォルトの名無しさんsage2006/02/05(日) 08:11:26
>>298
プロトタイプ宣言無しに関数が呼ばれたら、ワーニング出せって事?
イマイチ、言ってることが分からんのだが。
309デフォルトの名無しさんsage2006/02/05(日) 12:42:17
>>298みたいな変な希望を無理矢理叶えるなら、全部インクルードした後に
#define printf std::printf
とするとか?
310デフォルトの名無しさんsage2006/02/05(日) 15:59:56
>>309 それで何が叶えられるの?
311デフォルトの名無しさんsage2006/02/05(日) 18:10:44
310の国語力の貧困さを救う役には立たないな。
312309sage2006/02/05(日) 18:44:31
ん?いや、 309 の通りにしても
「#include <cstdio> を忘れて printf を使ってコンパイル通る」
という状況は解決しないだろ?
313312 (=310)sage2006/02/05(日) 18:45:31
名前間違えた。ほんとは 310 。ゴメン。
314デフォルトの名無しさん2006/02/23(木) 06:32:34
gcc って、エラーメッセージの出力形式を
何か設定変えることでいじることって出来ましたっけ?
出来ればいじって Visual C++ 互換にしたいなぁ、と。

今、Visual Studio 2005 のメイクファイルプロジェクトで
cygwin の make + gcc/g++ つかって開発してるんですが、
コンパイル結果からエラー該当行にジャンプすることが
できれば便利だなぁ、と思って。
315デフォルトの名無しさんsage2006/02/23(木) 10:15:57
それくらいならgccのソースコードを書き換えるのも難しくないでしょ。
316デフォルトの名無しさんsage2006/02/23(木) 19:00:20
MinGW日本語版
https://sourceforge.jp/projects/mingw-jp
Snapshot mingw-jp-20040224 2004-02-24 12:50
を使って

#include <stdio.h>
main()
{
printf("表示1\n");
}


gcc testgcc.c -o test.exe
とコンパイルすると
testgcc.c:4:8: warning: unknown escape sequence: '\216'
とwarningがでて、実行すると

侮ヲ1

と化けてしまいます。
どうすればきちんと"表示1"と表示させられるんでしょうか。
何かShiftJISを使うためのオプションや必要な環境設定があるんでしょうか?
317316sage2006/02/23(木) 19:41:09
自己解決しました
https://sourceforge.jp/projects/mingw-jp/files/
の一番下の mingw-jp.bat を参考に環境変数をsetしたらうまくいきました
# もっとわかりやすいところに置いといてよ (つ∀`)
318デフォルトの名無しさん2006/02/26(日) 23:51:45
CygwinにPARI/GPを入れようとしてmake installしたら以下のようなエラー
メッセージが現れました。どうすればいいんでしょうか?

cd Ocygwin-i686; make install
make[1]: Entering directory `/usr/local/pari-2.1.7/Ocygwin-i686'
/usr/bin/gcc -c -O3 -DGCC_INLINE -Wall -Wno-implicit -fomit-frame
-pointer -I. -I../src/headers -o mp.o ../src/kernel/none/mp.c
In file included from ../src/headers/pari.h:73,
from ../src/kernel/none/mp.c:23:
../src/headers/paricom.h:100: error: parse error before '/' token
make[1]: *** [mp.o] Error 1
make[1]: Leaving directory '/usr/local/pari-2.1.7/Ocygwin-i686'
make: *** [install] Error 2
319デフォルトの名無しさんsage2006/02/27(月) 02:01:49
cd pari-2.1.7
./Configure
make install
3203182006/02/27(月) 21:05:43
>319
cd pari-2.1.7
./Configure
make install

とすると318のエラーメッセージが出るんです。
321デフォルトの名無しさんsage2006/03/01(水) 01:38:59
どなたか dsp2make持ってないだろか
昔あったところがなくなってる yo
322名無し募集中。。。sage2006/03/07(火) 20:41:48
cygwinでgrubをビルドしようとしたらエラーになります。
http://savannah.gnu.org/bugs/?func=detailitem&item_id=14349
回避方法ってありますか?
323デフォルトの名無しさんsage2006/03/10(金) 23:18:47
MinGW-5.0.2でSTLport-4.6.2のiostreamがビルドできないyo
ググっても情報ないし、なんで俺だけ
non-template 'rebind' used as template
ってソースが間違ってるってことじゃないのか?
324デフォルトの名無しさんsage2006/03/11(土) 08:06:09
>>323
MinGW って gcc だろ。そうなると STLport を使う意味がわからん。しかも古いのを。
325デフォルトの名無しさん2006/03/11(土) 21:28:09
MinGWでDwarf2が有効なgccをビルドするにはどうすればいいですか
326デフォルトの名無しさんsage2006/03/13(月) 21:57:52
cygwinのgccにバージョン4.xが入るのはいつ頃なんでしょうか?
327デフォルトの名無しさんsage2006/03/13(月) 22:35:03
>>326
今からビルドすれば明日か明後日ぐらいには入るんじゃね?
328デフォルトの名無しさんsage2006/03/13(月) 23:54:11
自分の環境(AthlonXP-M 1800+)だと熱暴走しそうになるんで途中に30分の
(団扇を振る腕の)休憩挟んで--enable-languages=c,c++で4時間って所だったか。
329デフォルトの名無しさんsage2006/03/14(火) 07:38:13
今の季節は外に出しときゃいいよ
静かになるしマジお勧め
330デフォルトの名無しさんsage2006/03/14(火) 11:13:32
>321
http://www.google.com/search?q=dsw2mak.awk
331デフォルトの名無しさんsage2006/03/14(火) 23:02:54
>>330 orz... 正直すまんかった
332http://www.vector.co.jp/soft/win95/util/se072729.htmlhttp://msdn2.microsoft.com/ja-jp/library/h2k70f3s.aspx2006/03/18(土) 21:21:34
TextSS のWindowsXP(Professional)64bit化おながいします

もしくは64bitにネイティブ対応したテキスト置換ソフトありますか?

そういや64bitにネイティブ対応している2chブラウザてありましたっけ?

333デフォルトの名無しさん2006/03/21(火) 21:52:19
http://science4.2ch.net/test/read.cgi/denki/1137305792/150-152

これで、クロスコンパイル環境作るのに不足ファイルはありませんか?

環境作りの具体的な方法が説明されたこの1年以内に更新されているサイトは
どこですか?
334デフォルトの名無しさん2006/03/21(火) 22:12:17
http://curl.in/loveuranai/index.html
335デフォルトの名無しさん2006/03/21(火) 23:56:39
333 :デフォルトの名無しさん :2006/03/21(火) 21:52:19
http://science4.2ch.net/test/read.cgi/denki/1137305792/150-152

これで、クロスコンパイル環境作るのに不足ファイルはありませんか?

環境作りの具体的な方法が説明されたこの1年以内に更新されているサイトは
どこですか?
336デフォルトの名無しさんsage2006/03/22(水) 05:40:16
4.xのクロスコンパイル環境の作り方は見かけない。
3.xは見かけるけど、古い。
newlibがないと大変かも?
mingwなクロス環境を作る時は、cygwinの環境で作るほうが楽かもしれない。コツがあるけど。
cygwinな環境でmingwなクロス環境を作る時は、
newlibはシンボリックリンクはしないほうがいい。
時間と気力があれば、3.xの情報でなんとかなる。
あと、ターゲット書いてね。
337デフォルトの名無しさん2006/03/22(水) 14:16:35
コメントありがとう。
newlibが探したけど見つからない。
なんかマイコン毎に変わるみたいだから、どのみち自分ででっち上げないと駄目かも。
ポートアクセスにprintfとか使うのって違和感感じるので、それはそれで良いかも。
338デフォルトの名無しさんsage2006/03/23(木) 19:06:11
ttp://sourceware.org/newlib/
339デフォルトの名無しさんsage2006/03/32(土) 01:45:36
GetGnuWin32を使ってGnuWin32をインストールしようとしてるんですが、download.batを
実行すると

sed.exe アプリケーションエラー
"0x780109b3"の命令が"0x00492000"のメモリを参照しました。
メモリが"read"になることはできませんでした。

とエラーが表示され終了してしまいます。解決方法はありますか。
340デフォルトの名無しさんsage 2006/03/32(土) 01:53:42
はい
341デフォルトの名無しさん2006/03/32(土) 15:24:24
どなたかアドバイスお願いします。

今、cygwinとperlを使って巨大なデータを処理しています。
データを処理する際に、grepコマンドを使っているのですが、
1つ目の処理するファイルではgrepコマンドは正常に動いているようなのですが、
次のファイルの処理に移ると、
「Usage: grep [OPTION]... PATTERN [FILE]...
Try `grep --help' for more information.」
と返され、以後のファイルも同様の表示が出て処理できません。

パターンにマッチする文字列が多いから絞れってエラーだとは思うのですが、
データが巨大なため、grepで文字列の指定を増やすことはできません。
プログラムにバグはないです。
cygwinの設定を変えればいいのかな、とは思うのですが具体的にどうすればいいのかわかりません。

どなたかよろしくお願いします。
342デフォルトの名無しさんsage2006/03/32(土) 15:44:15
コマンドラインの文字数は有限だから、どうしようもないんじゃないの。
343デフォルトの名無しさんsage2006/03/32(土) 16:16:45
ともかくコマンド引数が正常になってるかを確認しれ
344デフォルトの名無しさんsage2006/03/32(土) 17:58:50
>>341
xargsを知ると道が開けるかも知れん。
345339sage2006/03/32(土) 18:42:55
>>340
解決策を教えてください
346デフォルトの名無しさんsage2006/03/32(土) 21:40:00
>>345
連続で質問するな
347339sage2006/03/32(土) 22:30:34
>>346
別人ですよ
348デフォルトの名無しさん2006/03/32(土) 23:01:33
俺も別人です。
349デフォルトの名無しさんsage2006/04/02(日) 03:02:06
使えねーよなUNIXのコマンド群て
350デフォルトの名無しさんsage2006/04/02(日) 08:27:18
>>349
そういう香具師に限って使いこなせてないことも多いものだということだね。
351デフォルトの名無しさんsage2006/04/02(日) 08:47:56
>>341
コマンドラインはココには書けないん?それだと、何が悪いか全然わからん。
352341sage2006/04/02(日) 11:53:14
>>342,343,344,351さん
遅いですが、アドバイスありがとうございました。
データファイルの置き場?に問題があったみたいで、別のところへ置いて実行したら思い通り動きました。
どうやら、grepコマンドを実行するときは、そのディレクトリにあるファイル数が多すぎるとだめみたいです(とは言っても100ぐらいだったのですが(;´Д`))。

ありがとうございました。
353デフォルトの名無しさんsage2006/04/02(日) 14:25:01
>>352
だから、例えば'*'の展開でコマンドラインが長くなりすぎたんだろ。
それを制御するのがxargsだってばよ。
354デフォルトの名無しさんsage2006/04/02(日) 14:52:47
>>353
ナルト?
355デフォルトの名無しさんsage2006/04/02(日) 15:19:44
>>354
鳴門が何か?
356デフォルトの名無しさんsage2006/04/02(日) 21:05:09
文字列に「表」という文字を入れると
「unknown escape sequence: '\225'」というエラーが出るのですが、これはgcc特有の問題なのでしょうか?
それともC言語の仕様なのでしょうか?
357デフォルトの名無しさんsage2006/04/02(日) 21:30:16
http://www.google.co.jp/search?q=gcc+%22unknown+escape+sequence%3A%22
358デフォルトの名無しさんsage2006/04/02(日) 21:46:37
>>356 バージョンが 3.4 以降なら -finput-charset 使え。
359デフォルトの名無しさんsage2006/04/02(日) 21:47:50
>>357
ありがとうございます
360デフォルトの名無しさんsage2006/04/05(水) 15:46:19
「質問にやさしく親切に答えてくれるスレ 2」に書き込んだところ見事にスルーされてしまったため、
こちらで質問させて頂きます。もしかしたらとんちんかんなことを言ってるのかもしれません……。

MinGW 5.0 で C++ を使っているのですが、
DLL に依存しない、というよりは CRT ライブラリをリンクしない方法はあるのでしょうか。
リンカオプションで「-nostdlib」やらを指定しても、
エントリーポイントが CRT ライブラリ内にあるようでそこから書かないとダメそうです。
なのでリンカスクリプトからごりごり書いてエントリーポイントだけアセンブラで、と思ったのですが、
参考になる資料、若しくはこういう方法のほうがいいよとか、やる意味ないよ、
みたいなことを教えてくれると嬉しいです。よろしくお願いします。
361360sage2006/04/05(水) 15:47:49
書き込んでから気付いたのですが、意味がなくてもやりたいと思っております。
362デフォルトの名無しさんsage2006/04/05(水) 15:52:12
crt1を自前で用意すればいい。
363デフォルトの名無しさん2006/04/05(水) 19:36:44
誰か>>325わかるひといます?
MinGWのサイトでバイナリ公開されてるけど3.4.5
わたしは4系列が欲しいのです。
364デフォルトの名無しさんsage2006/04/05(水) 20:04:59
ない。バイナリがほしいなら、自分でビルドしろ。
365デフォルトの名無しさんsage2006/04/05(水) 20:47:45
だからそのビルドの方法を…
366デフォルトの名無しさんsage2006/04/05(水) 20:56:51
>>365
http://www.reactsoft.com/
ここから MinGW 版 GCC 4.1.1 のバイナリが入手できるけど,これじゃだめかい?
367デフォルトの名無しさんsage2006/04/05(水) 21:12:20
>>366
ありがとう。
でも展開してみましたがlongjmp式の例外でした。
Dwarf2というものを試してみたいので…。
368デフォルトの名無しさんsage2006/04/06(木) 00:09:08
>>362
お返事ありがとうございます。
ただ、そのスタートアップルーチンの作り方が分からないのです……。
簡単に出来るのでしょうか?
369デフォルトの名無しさんsage2006/04/06(木) 01:49:05
dwarf2ってバイナリの形式(つか埋め込む情報の形式)であって
例外の実装とは関係ないと思うが。
370デフォルトの名無しさんsage2006/04/06(木) 08:16:26
ある(らしい)んですよ、dwarf2-EHとかいって
例外を発生アドレスからの固定テーブル引きで飛ばせるようなのが。
371デフォルトの名無しさんsage2006/04/06(木) 08:26:05
>>368
mingw-runtimeだかのソースを見てみれば、そこに入っていると思う。
簡単かどうかは人によるのでなんとも言えない。基本的になれることだと。
372339sage2006/04/06(木) 19:40:37
こっちで聞いてきます

Cygwin使っている人いますか? その16
http://pc8.2ch.net/test/read.cgi/unix/1134474192/
373デフォルトの名無しさんsage2006/04/06(木) 20:21:01
>>370
何を調べて何が分かったか、どこで躓いてるか書いてみれ。
374デフォルトの名無しさんsage2006/04/06(木) 23:26:35
>>373
調べたこと…なんかDwarf2 Exception Handlingとかいうのがあって
例外発生アドレスからの逆引きでハンドラを探すため
longjmpと違って関数呼出しごとのスタック登録なんかが不要で
zero-cost exceptionとも呼ばれることもあるらしい。

躓いているところ…ELFではデフォでDwarf2らしいが、
MinGWのようなそうじゃない環境で、どうやって有効にするかわからん。

以上です。
375デフォルトの名無しさんsage2006/04/06(木) 23:45:17
>>374
同じ関数が違うルートで呼ばれる場合もあるのだからスタックはやはり必要ではないか。
一箇所からしか呼ばれないものが対象?
376デフォルトの名無しさんsage2006/04/06(木) 23:59:59
えーと、どんな最適化がかかっていても、retで戻る限りリターンアドレスは
必ずスタックのどこかにあるので、スタックを可変サイズで確保とかやってないかぎり
アドレスとスタック消費量の対応表があればどうにかなるんじゃないでしょうか?
(100%想像)
377デフォルトの名無しさんsage2006/04/07(金) 00:25:22
binutils,gcc,newlib,gdbインストール時のconfigureのオプションで
--target=○○-elfとか指定する話でしょうか?

インストールしたコンパイラを使用する時のオプションでは
-gdwarf-2とか指定したり、

あと、リンカスクリプトでも
OUTPUT_FORMAT(bfdname) をelfで指定するんでしたっけ。

あ、objcopyのオプションにも
-O bfdname とかありましたっけ。
あと他にも何かあったような。
勘違いでしたらすみません。

elf とか dwarf とか勉強したいんだけど。
どこか優しく解説したサイトってないものでしょうか。猫でも解かるような
378360sage2006/04/07(金) 07:10:59
MinGW Runtime ソースやら Makefile やらを眺めて色々やったところ、
一応「-nostdlib」を指定した際の警告ととエラーは消え、無事にできたようです。ようなのですが、少し不安です……。
下にソースとコンパイルオプションを書きますが、
C ではなく C++ でコンパイルする(拡張子を .cpp にするか g++ を使う)と警告が出ます。
どちらでも一応動くようですし、ダンプしたら無駄がなくなっていた(と思う)のですが、問題はないでしょうか。

// main.c
#include <windows.h>
void WinMainCRTStartup()
{
MessageBox( NULL, "WinMainCRTStartup()", "Info", MB_OK);
ExitProcess(0);
}

// gcc -o main.exe main.c -mwindows -nostdlib -s -Wall -lkernel32 -luser32

// g++ -o main.exe main.c -mwindows -nostdlib -s -Wall -lkernel32 -luser32
C:\Program_Files\MinGW\bin\..\lib\gcc\mingw32\3.4.2\..\..\..\..\mingw32\bin\ld.e
xe: warning: cannot find entry symbol _WinMainCRTStartup; defaulting to 00401000
379デフォルトの名無しさんsage2006/04/07(金) 09:13:22
そのwarningはリンカーが出してる。動きそうな気がするけど?
380デフォルトの名無しさんsage2006/04/07(金) 11:19:27
>360
extern "C" void WinMainCRTStartup();
と宣言すればいいみたい
381デフォルトの名無しさんsage2006/04/07(金) 18:36:43
>>374=377
自分で探してる?

Dwarf Home
http://dwarf.freestandards.org/Home.php

Andrea 'fwyzard' Boc - Re: Exception handling HowTO??
http://gcc.gnu.org/ml/gcc/2004-03/msg01779.html

GCC with Dwarf2-EH
http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=82725&release_id=392771
382377sage2006/04/07(金) 21:28:02
>>381
私は>>374ではなく通りすがりですけど、感謝です。

便乗での質問だったのですが、私にはとても難しすぎでした。
Dwarfの前に、C言語から順序良く勉強を始めようと思います。
大変失礼しました。
383デフォルトの名無しさんsage2006/04/08(土) 11:16:44
>>378
-nostartfiles
384デフォルトの名無しさんsage2006/04/08(土) 13:53:53
>>381
感謝です。
でもMinGWで、Dwarf2-EHを「有効にする方法」を知りたいのです…。
Candidateの3.4.5と提示いただいたGCC with Dwarf2-EHの
ビルド手順の差(4.x系使いたいので)と後者の使い方、です…。

385デフォルトの名無しさんsage2006/04/08(土) 20:44:46
板違いなのかもしれないですが M$の Tool kitのスレでは反応が無かったので、質問させてください。
gdkはcygwinでコンパイルリンクした環境はデバッグできると思いますが、
Microsoft Visual C++ Toolkitのclとlinkでコンパイルリンクしたものもデバッグする方法ありますか?
386デフォルトの名無しさんsage2006/04/08(土) 22:16:31
>>384
試してないけどgcc -vで分からない? つーかまじ探してないだろ。

Installing GCC: Configuration - GNU Project - Free Software Foundation (FSF)
http://gcc.gnu.org/install/configure.html
387デフォルトの名無しさんsage2006/04/10(月) 01:18:46
>>380
おお、ありがとうございます。
一々拡張子やらを弄らずに無事コンパイル出来ました。
388デフォルトの名無しさん2006/04/20(木) 22:49:25
cygwinって実行結果の保存はどうやるのですか?

script ファイル名 ENTER
では駄目なので、どなたかご教授願います。
389デフォルトの名無しさんsage2006/04/21(金) 00:46:45
>
390デフォルトの名無しさんsage2006/04/21(金) 01:01:06
>>388
cygwinでもscriptは動くと思うので、インストーラで探してみたら?
#私の環境でもインストールされていなかった。
391デフォルトの名無しさんsage2006/04/21(金) 01:25:49
>>388

えと、>>389の意味はわかるよね?

表示しつつファイルに落としたいんなら、

コマンド | tee ログファイル名

コマンド 2>&1 | tee ログファイル名

地味すぎ?
392デフォルトの名無しさんsage2006/04/21(金) 11:20:18
inetd+sshd入れて、ttsshやputtyでlogとりながらlocalhostにloginする。
393デフォルトの名無しさんsage2006/04/22(土) 11:43:37
> script ファイル名 ENTER
>では駄目なので、どなたかご教授願います

なんでscriptがダメなの?入ってなかっただけ?
394390sage2006/04/22(土) 14:12:02
>>393
取り敢えずディフォルトインストールには入っていないし、
それらしい項目もインストーラでリストアップされていない。
恐らく>388の環境でもインストールされていないと思われるのだが、
どこにあるのかまでは調べていない。
395デフォルトの名無しさんsage2006/04/22(土) 14:21:59
ディフォルトゆーな
396デフォルトの名無しさんsage2006/04/22(土) 16:06:06
デファゥルト
397390sage2006/04/22(土) 17:33:12
>>395
あ、すまん。ちょっと耳元でディフォルト言う香具師がいたもんで、つられたようだ。
#普段はデフォルトと書くんだがなぁ……

>>396
発音を再現しようとする試みは適当なところで妥協するほうがいいと言う見本だね。
398デフォルトの名無しさんsage2006/04/23(日) 01:23:51
本気でカタカナ化したら
ディフォールトゥ
399デフォルトの名無しさんsage2006/04/23(日) 01:37:34
必殺技みたいだな
400デフォルトの名無しさんsage2006/04/23(日) 01:56:43
util-linuxにscript入ってるよ
401デフォルトの名無しさん2006/04/23(日) 02:22:00
>>390
今度は全ての項目をインストールしたのですが、できませんでした。

>>391
まだプログラミング初心者なので、そちらのコマンドはよく理解できませんでした。
、、、すみません orz

とりあえず >>400で調べてみようと思います
402デフォルトの名無しさんsage2006/04/23(日) 13:09:48
http://dictionary.goo.ne.jp/voice/d/01010727.wav
ディッフォァゥトゥ
403デフォルトの名無しさんsage2006/04/23(日) 15:36:45
>>402
その表記だと二重母音に見えるから>>398の方が正確
404デフォルトの名無しさん2006/04/24(月) 21:36:43
cygwinでヘッダファイル読み込みのプログラムをコンパイルしたところ
$ gcc Sample8-13.c -o Sample8-13
/cygdrive/c/DOCUME~1/Owner/LOCALS~1/Temp/cci9l7MR.o:Sample8-13.c:(.text+0x76): u
ndefined reference to `_max'
collect2: ld returned 1 exit status

エラーが発生しました。これはどのようにして改善すればいいですか?
(まだプログラミング初心者です。。。)
405デフォルトの名無しさんsage2006/04/24(月) 22:26:44
>>404
gcc に -Wall オプションをつけて、表示された警告を見て自分の間違いを知るといいよ。
406デフォルトの名無しさん2006/04/24(月) 22:54:38
それでも前と同じのがでます。
これってヘッダファイルを読み込んでいないこと
ですかね??
何か環境の設定がわるいとか??
407デフォルトの名無しさんsage2006/04/24(月) 22:58:29
>>406
100%いえるのはお前の頭がわるいってこと。
408デフォルトの名無しさん2006/04/24(月) 23:02:48
>>407
頭悪いって言っても昨日からプログラミングはじめたばっかだし。。。
知識不足なだけです
409デフォルトの名無しさんsage2006/04/24(月) 23:12:20
>>408
> これってヘッダファイルを読み込んでいないこと

そう思ったなら試せばいいのに。

あとは質問の仕方も学ぶことだな。
たいていの回答者にとって自称初心者は激しくウザイ。
410デフォルトの名無しさんsage2006/04/25(火) 00:13:46
自称初心者にMingWは向いてない。
というか、環境重要なC系は初心者には向いてない。
黙って何かスクリプト言語やっといた方がいいと思うよ。
PythonとかRubyとかPHPとか。
411デフォルトの名無しさんsage2006/04/25(火) 01:28:00
>>406
-Wallを付けたら、表示されるメッセージが変わってるだろう?
412デフォルトの名無しさんsage2006/04/25(火) 09:18:04
そのmaxがどのmaxかが問題だな。
413デフォルトの名無しさんsage2006/04/25(火) 20:39:49
gcc3.4.4で以下のようなプログラムを書いたらエラーが出たんだが

class A {};
class B {};
class C {};
class T { public: void func(A&, const B&, const C&) const {} };
A getA() { static A a; return a; }
B getB() { static B b; return b; }
C getC() { static C c; return c; }
int main()
{
T t;
t.func(getA(), getB(), getC());
}
main.cpp:14: error: no matching function for call to `T::func(A, B, C)'
main.cpp:7: note: candidates are: void T::func(A&, const B&, const C&) const

C++だと一時的なオブジェクトを暗黙的に作成して参照で渡してくれるもんじゃないの?

int main()
{
T t;
A a = getA();
B b = getB();
C c = getC();
t.func(a, b, c);
}

こう書かないとダメなもんかね…。
414デフォルトの名無しさんsage2006/04/25(火) 20:58:09
>>413
前に似たようなケースに出くわしたことがある。試してないけど多分
-class T { public: void func(A&, const B&, const C&) const {} };
+class T { public: void func(const A&, const B&, const C&) const {} };
じゃないかな?
415デフォルトの名無しさんsage2006/04/25(火) 21:12:38
規格にもあるんだろうけどとりあえず日本語D&EのP107で見っけた。
非constのリファレンスを非左辺値で初期化させることで生じる問題のお話。
416413sage2006/04/25(火) 21:18:32
414,415
そういうことか、納得した!
thx
417デフォルトの名無しさんsage2006/04/27(木) 20:24:50
int i;
MinGW+MSYSで
printf("input\n");
scanf("%d", &i);
printf("%d",i);
とやったときにinput\nが表示される前に入力を求められるんですけど何故?
同じ実行ファイルでもコマンドプロンプトやcygwinでは思ったとおりになります。
418デフォルトの名無しさんsage2006/04/27(木) 20:36:28
printf()の出力がバッファリングされている所為だと思われるので、fflush()してやればいいかもしれない。
419デフォルトの名無しさんsage2006/04/28(金) 00:37:50
extern __thread int thread_local_storage;
を mingw で使う方法はありますか?
420デフォルトの名無しさんsage2006/05/01(月) 01:56:59
Cygwinの-mno-cygiwn環境でgdbリーダブルなcoreを吐く方法ってありますか?
もしくは、WINAPIのMiniDumpWriteDumpで吐けるダンプを、
gdbに読み込ませるような方法があれば教えてください。
421デフォルトの名無しさんsage2006/05/01(月) 20:21:12
>>418
msysでやってるとfflushしてもなぜだかバッファから吐き出してくれないんだよねぇ。
422デフォルトの名無しさん2006/05/02(火) 14:51:08
SCRIPTできねぇえええええええええええええええ
なぜだ!?母さん!
423デフォルトの名無しさんsage2006/05/03(水) 14:54:26
母さんパソコンとかわからないから、お父さんに聞いておくれ
424デフォルトの名無しさんsage2006/05/03(水) 22:21:16
msysのホームからじゃなくてコマンドプロンプトでautomakeすること
出来ませんか?
プロンプトからだとg++でコンパイルは出来るのですがautotoolsが
使えないみたいなんです
425デフォルトの名無しさんsage2006/05/04(木) 12:39:36
>> 424
俺は
sh
automake
みたいなバッチファイル作ってやってる。
426デフォルトの名無しさん2006/05/04(木) 18:19:04
父さん!なぜだ!!
427デフォルトの名無しさんsage2006/05/05(金) 08:25:37
CyGNOMEのインスコが特定のパッケージで止まる(´・ω・`)ショボーン
MD5チェックは通過してるし…、setup.exeのバージョンが合わないのかな…?
428デフォルトの名無しさんsage2006/05/05(金) 14:31:05
>>425
sh automake
と1行にするのじゃだめなんか?
429デフォルトの名無しさん2006/05/09(火) 20:14:41
おしえてください。完全初心者です。
Cygwinのセットアップをして実行してみたところ

bash.exe - コンポーネントが見つかりません
cygintl-3.dllが見つからなかったため、このアプリケーションを開始できませんでした。
アプリケーションをインストールし直すとこの問題は解決される場合があります。

と出て実行できません。
ネットで調べて自分なりにやってみたのですが全く直る気配がしません。

できれば解決の仕方をご教授ください。
430デフォルトの名無しさん2006/05/09(火) 22:02:31
MinGW + GCC のライセンスってどうなの?
商用可能?


よろしくお願いします。
431デフォルトの名無しさんsage2006/05/10(水) 00:02:41
2つ上の人、cygwinのsetup.exeに完全に身を任せてそうなるなら
一旦消して、選ぶところでprevってのチョイスで入れるといい

1つ上の人、詳しくないけど、がちがちのGPLでも商用は問題ないんじゃないの?
義務が課せられるだけで
432デフォルトの名無しさんsage2006/05/10(水) 00:41:34
>>430
GCCが生成するコードはGPLではない。
あなたのソースコードから生成されたコードはあなたのもの。
詳しくは http://www.mingw.org/mingwfaq.shtml#faq-license
433デフォルトの名無しさんsage2006/05/19(金) 07:35:54
>>429
bashだけを本家以外のところから取ってきた後、C:\Cygwin\binに
bash突っ込んだと見た。
たとえば日本語対応とか謳ってる奴とか。

私家版bashは古いDLL使ってたり何してるのかよくわからなかったりするので、
あきらめて本家の奴使うほうが良いかと。



あとMingw3.4.2 (g++使用) + W32api 3.6 + binutils 2.15.91で
StackWalk()、Syminitialize()のシンボルがみつからネと怒られるので鬱だ。
エロいひと逃げ道教えてくださいませ。
434433sage2006/05/19(金) 07:38:44
コードはこんなかんじ(某所のソースを試しに打ち込んでみた感たっぷり)

LONG StackTracer::WrappedExceptionFilter(EXCEPTION_POINTERS *Exception)
{
STACKFRAME TargetStack;
BOOL WalkResult;
PIMAGEHLP_SYMBOLImageSymbol;
DWORDDistance = 0;

ImageSymbol = (IMAGEHLP_SYMBOL *) malloc( (sizeof (IMAGEHLP_SYMBOL)) * MAX_STACKFLAME_LENGTH );
ImageSymbol->SizeOfStruct = (sizeof (IMAGEHLP_SYMBOL)) * MAX_STACKFLAME_LENGTH;
ImageSymbol->MaxNameLength = ((sizeof (IMAGEHLP_SYMBOL)) * MAX_STACKFLAME_LENGTH) - sizeof(IMAGEHLP_SYMBOL);

ZeroMemory(&TargetStack, sizeof(STACKFRAME));

// x86のプログラムカウンタを設定(MSDN「STACKFRAME / STACKFRAME64」参照)
TargetStack.AddrPC.Offset = Exception->ContextRecord->Eip;
TargetStack.AddrStack.Offset = Exception->ContextRecord->Esp;
TargetStack.AddrFrame.Offset = Exception->ContextRecord->Ebp;
TargetStack.AddrPC.Mode = AddrModeFlat;
TargetStack.AddrStack.Mode = AddrModeFlat;
TargetStack.AddrFrame.Mode = AddrModeFlat;

SymInitialize(GetCurrentProcess(), NULL, TRUE);

435デフォルトの名無しさんsage2006/05/19(金) 07:39:33

while(1)
{

WalkResult = StackWalk(IMAGE_FILE_MACHINE_I386, GetCurrentProcess(),
GetCurrentThread(), &TargetStack, NULL, NULL,
SymFunctionTableAccess, SymGetModuleBase,
NULL);

if (!WalkResult || 0 == TargetStack.AddrFrame.Offset )
{
break;
}

WalkResult = SymGetSymFromAddr(GetCurrentProcess(), TargetStack.AddrPC.Offset, &Distance, ImageSymbol);

if (WalkResult)
{
printf("0x%8x %s()", TargetStack.AddrPC.Offset, ImageSymbol->Name, Distance);
}
else
{
printf("0x%8x \n", TargetStack.AddrPC.Offset);
}
}

free(ImageSymbol);

return EXCEPTION_CONTINUE_SEARCH;
}
436433sage2006/05/19(金) 07:40:41
g++ -Wall -g -LC:/Mingw/Mingw/lib -IC:/Mingw/Mingw/include -lstdc++ -lkernel32
-luser32 -lgdi32 -limagehlp -lpsapi -o "test.exe" callstack.o main.o test.o

callstack.o: In function `ZN11StackTracer22WrappedExceptionFilterEP19_EXCEPTION_POINTERS':
D:/sample/Win32_StackTrace/callstack.cpp:40: undefined reference to `_imp__SymInitialize@12'
D:/sample/Win32_StackTrace/callstack.cpp:45: undefined reference to `_imp__SymGetModuleBase@8'
D:/sample/Win32_StackTrace/callstack.cpp:45: undefined reference to `_imp__SymFunctionTableAccess@8'
D:/sample/Win32_StackTrace/callstack.cpp:45: undefined reference to `_imp__StackWalk@36'
D:/sample/Win32_StackTrace/callstack.cpp:55: undefined reference to `_imp__SymGetSymFromAddr@16'
collect2: ld returned 1 exit status
make: *** [build] Error 1



長くて申し訳ない orz
437デフォルトの名無しさんsage2006/05/19(金) 09:26:32
>>436
g++ -Wall -g -LC:/Mingw/Mingw/lib -IC:/Mingw/Mingw/include
-o "test.exe" callstack.o main.o test.o
-lkernel32 -luser32 -lgdi32 -limagehlp -lpsapi

438433sage2006/05/19(金) 21:14:55
>>437
いけました。多謝!

三日くらい俺の中で>>437氏を神と呼ばせてもらいますYO。
439デフォルトの名無しさん2006/05/25(木) 21:13:02
Win32APIで、C/C++の実戦的なアプリ開発、または、
勉強をしている方々、ぜひ、MinGW + GCC を、お試し下さい。
世の中、Windowsだけでないことが実感できます。

Linuxでのプログラミングにも役立ちます。GCCは、
一企業の枠内におさまらない、グローバル・フリーなC/C++処理系。
440デフォルトの名無しさんsage2006/05/25(木) 21:22:43
441デフォルトの名無しさん2006/05/25(木) 21:31:03
いや、MinGW + GCC を学んで、
Linux(Fedora Core 5)へ行こう。
そういう、意味です。悪しからず。
442デフォルトの名無しさんsage2006/05/25(木) 22:22:19
何の罰ゲームですか?
443デフォルトの名無しさんsage2006/05/25(木) 22:26:09
それをこのスレで言う意味がどれくらいあるのかと
444デフォルトの名無しさん2006/05/25(木) 23:23:43
あの無料のVC++EEでもWin32APIベースの開発は可能。
だが、あれは、NetFrameWork2.0を花粉としてあちこちへ
運んで欲しいという願いを込めてMSが配布したもの。
基本的に、あれでコンパイルした従来のWin32APIベースのソフトは、
NetFrameWork2.0がインストールされていないPCでは起動しない。
その点、MinGW + GCC はWin98でもWinXPでも、たぶん、Win2000でも、
NetFrameなんだらが、あってもなくても動く。

MinGW + GCC は、WinだろうがLinuxだろうが、垣根を越えて使える、
が、VC++系の処理系は、Windowsで閉じていて、なお、・・・。
445デフォルトの名無しさんsage2006/05/25(木) 23:34:26
GCC4.1.1がリリースされてるね.
MinGWで使えるようにコンパイル中……
446デフォルトの名無しさんsage2006/05/25(木) 23:35:23
謎解きみたいな質問で申し訳ないのですが。
あるアプリケーション(ハードウェアのツールです)で外部ファイルとして dll を用意し、
そのアプリケーションで所定の手続きを行うと、用意したdll内部の関数を呼び出すこ
とが出来ます。
このdllをmingwのgccで下記のように作成したところ正常に動作しました。
gcc -c -o hoge.o hoge.c
gcc -shared -o hoge.dll hoge.o
全く同じ方法でcygwinのgccでdllを作成したところ正常に動作しませんでした。
上記の状況は何故起こるのでしょうか?

尚、Hellow world のような普通のアプリケーションはmingwでもcygwinでも、同じよう
に正常動作します。
447デフォルトの名無しさんsage2006/05/26(金) 00:57:46
>>446
http://www2.atwiki.jp/ccw/pages/11.html
448デフォルトの名無しさん2006/05/26(金) 22:31:11
個人的に、MinGWとCygwinって別物って感じがするんだよね。
MinGWは商用利用可なのに、Cygwinは商用利用不可。
いまどき、Visual Studio 2005 Express Editionですら商用利用可なのに、
Cygwinの商用利用不可ってのは時代遅れなんじゃないのって言いたい。
やはりこれからの時代はMinGW。

ま、Cygwinもライセンスを緩めてくれたらそれでいいんだけどね。
449デフォルトの名無しさんsage2006/05/26(金) 22:37:58
GPLは商業利用を妨げてはいません。GNU/Linuxディストリを売ってる企業はたくさんある
450デフォルトの名無しさんsage2006/05/26(金) 22:45:23
別物じゃん。
451デフォルトの名無しさんsage2006/05/26(金) 23:03:56
まぁ、一応リンク貼っておくか。

7. 著作権(copyrights)はどうなっていますか?
ttp://www.sixnine.net/cygwin/translation/faq/faq_7.html
「現在、Cygwin の商用利用(proprietary use)は商用利用ライセンスを通じてのみ可能です」

Cygwin DLLを使わなきゃいいのかもしれないけど、
それなら最初からMinGW使っておけ、みたいになるんじゃないの。
452デフォルトの名無しさんsage2006/05/27(土) 00:28:33
正直c/c++コンパイラとしての機能だけが欲しいならば、cygwinを選ぶ
必要性は全く無い気がしますね。
cygwinの様々な価値はその点を補ってあまり得るとも感じますが。
453デフォルトの名無しさんsage2006/05/27(土) 01:36:38
すみません…今日cygwin2.510.2.2を入れたんですが、すべてデフォルト設定で入れたところ、
gccコマンドを使おうとすると
bash : gcc : comand not found
とでました。何を追加して入れればいいんでしょうか??
454デフォルトの名無しさんsage2006/05/27(土) 01:43:34
gcc
455デフォルトの名無しさんsage2006/05/27(土) 01:58:52
>>454
できました!ありがとうございました!
456デフォルトの名無しさんsage2006/05/27(土) 03:17:11
マジかよ
457デフォルトの名無しさんsage2006/05/27(土) 03:21:28
ワロス
458デフォルトの名無しさんsage2006/05/27(土) 16:25:49
>>451
そこでいう商用利用っていうのは、パッケージ製品のような
「ソース非公開でバイナリのみの有料頒布」といったケースのこと。
そもそもcygwin.dllはGPLだから、原理的にこういう配布形態を取り得ないので、
その回避手段として、非GPLなライセンスでも頒布してるよって話。
Qtなんかと同じこと。

GPLだから嫌なんだって話は別スレでやってね。

mingwはpublic domainといってるけど、日本の著作権法では
確かpublic domainという概念自体がないので、実際どうなるんだっけね。
まあ何やっても文句言われたりすることはないだろうけど、
素直にBSDとかMITのライセンスにすればいいのにと思うことはある。
459デフォルトの名無しさん2006/05/27(土) 20:18:53
STLport4.6.2というライブラリをcygwinでmakeしたいのですがリンクで失敗してしまいます
libcygwin.a(libcmain.o):: undefined reference to `_WinMain@16'とメッセージがでます

ttp://www.sixnine.net/cygwin/translation/faq/faq_3.html#SEC91
上記のサイトに対処方法が書かれていたのですが
-lmをうしろに置いたり何もしないWinMainをdll_main.cpp(STLportのソース)に書いたりしたのですが解決しませんでした

下記が失敗したコマンドとメッセージです
c++ -o ../lib/libstlport_cygwin.dll.4.6 -I../stlport -W -Wno-sign-compare -Wno-unused
   -Wno-uninitialized -O2 -D_STLP_USE_DYNAMIC_LIB -Wl,-d
   ../lib/obj/cygwin/ReleaseD/dll_main.o ../lib/obj/cygwin/ReleaseD/fstream.o ../lib/obj/cygwin/ReleaseD/strstream.o
   ../lib/obj/cygwin/ReleaseD/sstream.o ../lib/obj/cygwin/ReleaseD/ios.o ../lib/obj/cygwin/ReleaseD/streambuf.o
   ../lib/obj/cygwin/ReleaseD/stdio_streambuf.o ../lib/obj/cygwin/ReleaseD/istream.o ../lib/obj/cygwin/ReleaseD/ostream.o
   ../lib/obj/cygwin/ReleaseD/complex.o ../lib/obj/cygwin/ReleaseD/complex_exp.o ../lib/obj/cygwin/ReleaseD/complex_io.o
   ../lib/obj/cygwin/ReleaseD/complex_trig.o ../lib/obj/cygwin/ReleaseD/complex_io_w.o ../lib/obj/cygwin/ReleaseD/string_w.o -lm
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../libcygwin.a(libcmain.o):: undefined reference to `_WinMain@16'
collect2: ld はステータス 1 で終了しました
460459sage2006/05/28(日) 17:51:09
gcc-cygwin.mak内の
*_*_dynamic = ほにゃらら  を
*_*_dynamic = ほにゃらら -shared
にしたらできました
そのほかの修正点は下記のサイトとおりです
ttp://d.hatena.ne.jp/okagawa/20050730

さっそくHello Worldをmakeしようとしたらgccじゃリンクできなくてはまりました
461デフォルトの名無しさん2006/05/28(日) 21:30:00
>>460
stlportとのdynamic link成功してますか?
自分も460に書かれてる修正をほどこしてstlportのビルドには成功したのですが
helloworldでdynamic linkすると失敗しちゃいます(staticは成功
ほんらい生成されるはずと思われるlibstlport_cygwin.dll.4.6.a自体作られずdlltoolで作ったのですが
undefined reference to `_STL::cout'と怒られてしまってます
462デフォルトの名無しさんsage2006/05/29(月) 01:15:17
>>444
> 基本的に、あれでコンパイルした従来のWin32APIベースのソフトは、
> NetFrameWork2.0がインストールされていないPCでは起動しない。
嘘付くな
http://www.microsoft.com/downloads/details.aspx?FamilyID=32bc1bee-a3f9-4c13-9c99-220b62a191ee&DisplayLang=ja
が入っていれば動く
463デフォルトの名無しさん2006/05/30(火) 08:06:40
>>462
CRTもATLも静的リンクできるよな
それもほんとに必要なのかい
464デフォルトの名無しさんsage2006/06/04(日) 00:48:46
cygwinの最新版の使い方が詳しく載っているHPありませんか?
465デフォルトの名無しさんsage2006/06/04(日) 04:11:25
>>464
www.cygwin.com
466デフォルトの名無しさんsage2006/06/07(水) 23:58:57
今日からプログラミング始めようと思っている超初心者です。
OS Meです。

cygwinをインストールしたんですが、黒い画面に出てくる
BASH-3.1$というのが出てくるんですが、これはそのまま
にしていていいのでしょうか?それとも、なにか設定をし
てやらないと使えないのでしょうか?一回使ってみたん
ですが、使いにくいです。教えてください。
467デフォルトの名無しさんsage2006/06/08(木) 00:18:15
そうか、黒いのが出ちゃったか。
そりゃハズレだよ。
468デフォルトの名無しさんsage2006/06/08(木) 00:45:03
>>467
いや、本当にこのBASH-3.1$とはどういう意味ですか?
この意味がよくわからず、困ってます。教えてください。
ハズレの場合どうすればいいのでしょうか?
469デフォルトの名無しさんsage2006/06/08(木) 00:55:36
>>468
当たりが出るまでアンインストール→インストールを繰り返すといいよ。
470デフォルトの名無しさんsage2006/06/08(木) 01:46:50
Red hat にお金払えば、当たりの Cygwin が手に入る

にぅにぅ
471デフォルトの名無しさんsage2006/06/08(木) 01:54:04
いじわるな奴が多いな。
bashのことは忘れていい。
ツーカcygwinも捨てていい。
もう一度最初からやり直すつもりでMinGWを入れるんだ。
472デフォルトの名無しさんsage2006/06/08(木) 02:09:07
なんか根本的に分かってないみたいだから、あきらめてVisual C++ Express Edition でも入れとけ。

と思ったが、Meじゃ動かなかったっけ。
473デフォルトの名無しさんsage2006/06/08(木) 05:12:31
djgppが一番だよ
474デフォルトの名無しさんsage2006/06/08(木) 08:07:44
GCCでのWindowsリソースのリンクに関する質問です。
環境:cygwin
binutil: 20050610-1
(windres: 2.16.91 20050610)
gcc: 3.4.4-1
# いずれもsetup.exeでインストールしたもの

複数のリソースファイルをcoffに変換してgccでリンクしようとしても、
1つしかリンクできていないようです。
gccでは、リソースを単一のリソースファイルにまとめる必要があるのでしょうか?

[例]
windres a.rc -o a.o <= Version情報
windres b.rc -o b.o <= Dialog定義
gcc -c main.c -o main.o
gcc -o maina.exe -mwindows main.o a.o b.o
gcc -o mainb.exe -mwindows main.o b.o a.o

maina.exeはVersion情報埋め込まれるが、ダイアログが開けない
mainb.exeは、ダイアログ開けるが、Version情報埋め込まれていない
475デフォルトの名無しさんsage2006/06/08(木) 18:40:50
>>466ですけど、ネットで調べると何やらUnixのemacsがどうとか
書いてあるのを見つけましたが、これが関係あるのでしょうか?
このプログラムを書くと、うまくできるのでしょうか?

bash-2.03$ emacs hoge.rr & RETURN
このあとに
2*(3+5^4);
deval(sin(3.14));
fctr(x^6-1);
end$

476デフォルトの名無しさんsage2006/06/08(木) 18:42:11
それでこれを入力して
ash-2.03$ asir RETURN
Asir の起動メッセージ
[0] load("./hoge.rr"); RETURN

これを応用して使えばうまくいくのでしょうか?
教えてください。
477デフォルトの名無しさんsage2006/06/08(木) 18:47:48
もういいよ
478デフォルトの名無しさんsage2006/06/08(木) 19:05:45
Cygwinを使う気ならUnixも勉強しろ!
479デフォルトの名無しさんsage2006/06/08(木) 22:03:57
>>475-476
努力しない奴に授けるものは何もない。
一から十まで全部聞かないとできないんならコンサルタントでも雇えよ。
480デフォルトの名無しさんsage2006/06/08(木) 22:37:57
>>479
まず何から勉強したほうがいいでしょうか。
MeでCを覚えてC++へ行きたいんですが。
なにから手をつけていいのかわからない
です。
481デフォルトの名無しさんsage2006/06/08(木) 22:39:43
パソコン教室にでもいけ
482デフォルトの名無しさんsage2006/06/08(木) 22:49:17
>>481
いい本を紹介してもらえないですか?お願いします。
483デフォルトの名無しさんsage2006/06/08(木) 23:05:55
cygwinの本ぐらいググればいくらでもあるのでは?
484デフォルトの名無しさんsage2006/06/08(木) 23:15:09
すれ違い。
【完全初心者】何をやったらいいですか?
http://pc8.2ch.net/test/read.cgi/tech/1031149590/
485デフォルトの名無しさんsage2006/06/08(木) 23:56:45
>>483-484
ありがとうございます。また2年後に会いましょう。
486デフォルトの名無しさんsage2006/06/08(木) 23:59:27
お勧め
http://www.amazon.co.jp/exec/obidos/ASIN/4774116823/
487デフォルトの名無しさんsage2006/06/09(金) 00:01:31
>>486
ありがとうございます。これは良さそうですね。勉強します。
488デフォルトの名無しさんsage2006/06/10(土) 08:09:46
この流れは・・・
489デフォルトの名無しさんsage2006/06/14(水) 22:01:56
MinGWとBorland(make.exe以外に用は無い)にパス切って、cygwinを使ってる
けど変かな?
490デフォルトの名無しさんsage2006/06/14(水) 23:54:34
>>489
別にいいと思うけどなんでcygwinのmake使わないの?
491デフォルトの名無しさんsage2006/06/15(木) 02:18:58
>>489
nmakeじゃダメ?
492デフォルトの名無しさんsage2006/06/15(木) 08:36:30
そりゃさすがに論外でしょう。
493デフォルトの名無しさんsage2006/06/16(金) 00:56:39
>>490
ディレクトリを越えたサフィックスルールの書き方が違ったり、細かなと
ころが違うので。Borlandの書き方に慣れちゃったから覚えるのメンドク
サイ & 今までのMakefile書き直したくない。ってところです。
一番最初にgnuのmakeを使わなかったのは、たまたまBorlandの方に
優先パスが切られてたので、その流れでずるずると・・・
494デフォルトの名無しさん2006/06/16(金) 20:43:51
例外処理を使用すると以下のようなリンクエラーが発生してしまいます。
undefined reference to `typeinfo for std::exception'
-fexceptionsは指定しているのですが他に必要なものがあるのでしょうか?
495494sage2006/06/16(金) 20:50:02
すいません、ldの方のオプションに-fexceptionsを指定していませんでした。
496デフォルトの名無しさんsage2006/07/13(木) 10:35:58
このスレ人いるのかな?・・・

win2000でcygwin+gcc3.4.4で
以下のプログラムを
通常のコンパイルとstaticリンクコンパイル
したんだけどサイズがどちらも変わらない
---a.c---
#include <stdio.h>

int main(int argc, char** argv) {
printf("aaa");
return 0;
}

gcc -o a a.c
gcc -static -o a-static a.c

ls -l
a 8671
a-static 8671

なんでstaticとdinamicでサイズが同じなの?
497デフォルトの名無しさん2006/07/13(木) 10:56:41
MinGWで作成したDLLの関数(引数はSTLのstring)を.NET2003のEXEからCALLすると

ハンドルされていない例外が発生しました : 0xC0000005:
場所 0xccccccc8 に書き込み中にアクセス違反が発生しました。

となるのですが、引数にSTLは使用できないのでしょうか?
498デフォルトの名無しさんsage2006/07/13(木) 10:59:11
最近MSYS+MinGW環境にSTLport5.0を導入したのですが、
istrstreamに >> 演算子を使った結果がおかしくなって困っています。

char chSource[] = "100 200 300";
std::istrstream iStrm(chSource);
int i;

iStrm >> i;

上記みたいなコードでi = 100になってくれません。
ちなみに、同じコードをSTLportではなく標準libc(のiostreamライブラリ)
を使用すると意図どおりに100になります。
どなたか正しいコンパイルオプション等情報をお持ちでないでしょうか。

と、書き忘れていましたがライブラリはdll版を使用しています。
-mthreads -D_USE_STLP_DYNAMIC_LIB(だっけ?)
つけてプログラム本体はコンパイルしました。

STLport5.0 + MinGWはあまり使われてないのか日本語の情報少ないです……
499デフォルトの名無しさんsage2006/07/13(木) 11:30:31
>>496
Windowsじゃ本当のstaticにならないから
500デフォルトの名無しさんsage2006/07/13(木) 12:34:23
>>496
つーか元からMingwはMSVCRT前提だから。
501469sage2006/07/13(木) 13:48:27
staticリンクするときに-lcオプション付け忘れてた
と思ったら関係なかったのね

>>499
そうなのですか。ありがとうです

>>500
MingwがMSVCRT前提
とはどういう意味ですか?
MSVCRTというのはMSVCRT.DLLのことですよね
502デフォルトの名無しさんsage2006/07/13(木) 14:04:20
>>496
それ以前にそのソースじゃprintfは参照されていない。
optimizer によって printf が puts に書き換えてるはず。
putsはmsvcrt.dllのを使ってるだけなのでサイズに影響が無い。
503デフォルトの名無しさんsage2006/07/13(木) 14:06:56
cygwinの話してるんじゃないの?
504デフォルトの名無しさんsage2006/07/13(木) 14:22:17
( ´,_ゝ`)optimizer
505デフォルトの名無しさんsage2006/07/13(木) 17:58:44
msってstaticなもの今でも作ってる?
506デフォルトの名無しさんsage2006/07/13(木) 18:03:18
何が?
507デフォルトの名無しさんsage2006/07/13(木) 20:08:29
>>497
MinGWのstd::stringとVCのstd::stringは別の人間が作った異なる実装。
だからバイナリ互換でない。
508デフォルトの名無しさんsage2006/07/14(金) 05:02:34
こんなやりとり続けてるから人減るんだよ
509デフォルトの名無しさんsage2006/07/14(金) 22:58:38
あっそ
510デフォルトの名無しさん2006/07/17(月) 21:01:19
gccのエラーメッセージの日本語化をしたいのですが、
出力されたエラーメッセージから日本語に変換するためには
どうすれば良いのでしょうか。

お願いします。

511デフォルトの名無しさんsage2006/07/17(月) 21:02:16
LC設定すれば
512デフォルトの名無しさんsage2006/07/17(月) 21:40:45
マルチ氏ね
513デフォルトの名無しさんsage2006/07/17(月) 21:45:24
いや、誘導されただろ。
514デフォルトの名無しさんsage2006/07/17(月) 23:36:41
質問があります。
MinGWで日本語を使用する場合の文字化けやコンパイルエラーなどは
バージョン5.0.3では解消されているのでしょうか。
515デフォルトの名無しさんsage2006/07/17(月) 23:38:59
>>514
何の問題かわからん。エラーメッセージとか書け。
516デフォルトの名無しさん2006/07/18(火) 00:15:57
>>510
自分で訳せ
517デフォルトの名無しさんsage2006/07/18(火) 00:40:33
http://www.mingw.org/download.shtml
↑のMinGWのダウンロードサイトに行くと、ダウンロードできるファイルがたくさんありますが、
どれをダウンロードすれば良いでしょうか。
518デフォルトの名無しさんsage2006/07/18(火) 04:06:49
MinGW-3.1.0-1.exe
を落としておけばまぁ間違いは無いんじゃないの

MinGW-5.0.2.exe
でもいい
519デフォルトの名無しさんsage2006/07/18(火) 14:42:39
 
520デフォルトの名無しさん2006/07/18(火) 14:43:11
 
521デフォルトの名無しさんsage2006/07/18(火) 22:30:46
>>517
SourceForgeに5.0.3が出てるから最新版がよければそっちを落とせばいい
522デフォルトの名無しさん2006/07/19(水) 10:02:06
gcj でコンパイルしたら
ld.exe: cannot find -lgcc
とエラーがでます。

どういう意味なんでしょうか?
523デフォルトの名無しさんsage2006/07/19(水) 11:27:14
cannot find
見つけることができません。
524デフォルトの名無しさん2006/07/19(水) 12:31:24
ld.exe が見つからないということでしょうか?
bin/ ディレクトリにあるのですが...
525デフォルトの名無しさんsage2006/07/19(水) 12:48:41
ldが見つからないのではなく、ldが見つけられないというエラーだ。
526デフォルトの名無しさんsage2006/07/19(水) 12:52:21
あーいかん、対象に助詞の「が」を使わない性分だからつい判り難い文章を書いてしまった。
ldが見つからない(という状態にある)のではなく、ldが(それ(この場合-lgcc)を)見つけられないというエラーだ。
527デフォルトの名無しさんsage2006/07/19(水) 13:51:11
lgcc というファイルが必要なのですね?
googleで探してみます
528デフォルトの名無しさんsage2006/07/19(水) 13:54:51
(;・∀・)ダダイジョウブ・・・?
529デフォルトの名無しさんsage2006/07/19(水) 14:10:15
>>526もわかってない希ガス・・・
530デフォルトの名無しさんsage2006/07/19(水) 14:12:37
>>527
釣りだよな?釣りなんだよな?
531デフォルトの名無しさんsage2006/07/19(水) 14:25:03
>>522 が(ry
532527sage2006/07/19(水) 14:29:11
あれ間違ってます?

-lgcc ってオプションかなにかですか?

つまりバージョンが古いって事??
533デフォルトの名無しさんsage2006/07/19(水) 14:56:15
自分で調べる癖をつけましょう。
そもそもgcjはけっこう茨の道だからやめることを薦める。
534デフォルトの名無しさんsage2006/07/19(水) 15:04:15
gcjでコンパイルしても起動の速さしか勝てないんだよなぁ。
535526sage2006/07/19(水) 16:29:18
>>529
漏れが何か?
そのエラーが実は、"-lgcc"と言うファイルが見つからないと言う意味ではないことくらい知ってるよ。
ディフォルトでリンクされる筈のlibgcc.aが何故見つからないのかまではgcj知らないから知らんが。
#-Lでパス指定しろって話かも知らんが、設定か何かで逃げられないのかな?
536デフォルトの名無しさんsage2006/07/19(水) 16:52:49
>>532
そういうこと
バージョンageなさい
537デフォルトの名無しさんsage2006/07/19(水) 20:49:49
>>518
3.1.0-1は古くないですか?
とりあえずSourceForgeの5.0.3をダウンロードしようと思います。

>>521
MinGWはSourceForgeに最新版が出るものなんでしょうか。
538デフォルトの名無しさんsage2006/07/19(水) 23:40:07
>>515
>>514はsjisの文字化け問題のことを聞きたいんじゃない?
確かsjisにも対応できるように修正されたと思う
539デフォルトの名無しさんage2006/07/19(水) 23:57:42
age
540デフォルトの名無しさん2006/07/21(金) 12:04:25
>>514
http://www.noppi.jp/diary/?date=20041126
541537sage2006/07/21(金) 19:01:34
MinGW-5.0.3.exeをダウンロードして起動すると途中で
Previous
Current
Candidate
を選択するラジオボタンがあったのですがそれぞれどう違うのでしょうか。
542デフォルトの名無しさんsage2006/07/21(金) 19:13:33
そのまんまだが?
543537sage2006/07/21(金) 23:50:48
>>542
どれを選んでもインストールするファイルの種類は同じで
単に識別子をつけるだけという感じですか?
544デフォルトの名無しさんsage2006/07/22(土) 00:07:08
>>543
違う…素直に言葉読んでくれないか…?
545デフォルトの名無しさんsage2006/07/22(土) 00:24:31
Prev前の
Curr今の
Candベータ版みたいな
546デフォルトの名無しさんsage2006/07/22(土) 02:07:54
Candidate: 次期バージョン候補となるパッケージ。RC(Release Candidate)と呼ぶ場合もある。
547デフォルトの名無しさんsage2006/07/22(土) 04:30:06
だから MinGW-3.1.0-1.exe 落としとけつったのに
548デフォルトの名無しさんsage2006/07/22(土) 14:04:00
ちょっと聞きたいのですが
MinGWを仕事で使ってるとこってあるのでしょうか。
549デフォルトの名無しさんsage2006/07/22(土) 19:13:46
どういう意味の仕事?
仕事で使うユーティリティーを書いて自分で使うぐらいは普通にしてるけど。
550548sage2006/07/22(土) 20:59:24
>>549
返信ありがとうございます。
市販のアプリケーション製品を作成するのにC++コンパイラとして
MinGWが採用されているかどうかという意味です。
551デフォルトの名無しさんsage2006/07/23(日) 01:27:39
>>550
探せばあるかも知れんが、市販のアプリがVB製だと分かったときの
気持ちを2分の1ぐらいにした感覚に襲われそう。
552デフォルトの名無しさんsage2006/07/23(日) 01:32:30
PS3はMinGWを使ってる。
553デフォルトの名無しさんsage2006/07/23(日) 15:34:08
Fedora5でtargetをi686-pc-mingw32としてgcc4.1.1を構築するとき、いつも失敗する。
ライブラリの構築の辺りでstdio.hが見つからないって文句言ってきた。どこのstdio.hだよ‥‥
ネイティブコンパイラなら最後まで出来るのに。クロスコンパイラはいつもここでこける。

Fedora5の再インストール直後にmakeしても駄目。
もう疲れたので、イタリアのmplayer on win32からバイナリを落として使っている。
構築が出来る人はどんな環境でやっているのかねぇ‥‥
554デフォルトの名無しさんsage2006/07/23(日) 15:42:19
ttp://www.mingw.org/MinGWiki/index.php/build%20a%20Win32%20x-compiler%20for%20Linux?PHPSESSID=4c82106507e4374bfd5a540cb64e0262
555デフォルトの名無しさんsage2006/07/23(日) 20:14:31
>>553
当然ターゲットのstdio.hだろ。
winsup/mingw/includeあたりを /usr/local/i686-pc-mingw32/include にコピーすれば?
556デフォルトの名無しさんsage2006/07/24(月) 16:35:57
DirectX9を使いたいのですが、dsound.hが見つかりません。
MinGW用のヘッダとライブラリはどこで手に入りますか?
557デフォルトの名無しさんsage2006/07/24(月) 17:36:21
>>556
licenceの関係でcygwin/mingwには入ってない。
wineやVisualCなんかから拾ってこい
558デフォルトの名無しさん2006/07/24(月) 20:47:53
--------------------------------------------------終了--------------------------------------------------
559デフォルトの名無しさんsage2006/07/24(月) 22:58:30
>>558
おまえか?
↓のスレ立てた奴は…
http://pc8.2ch.net/test/read.cgi/tech/1153583131/
560デフォルトの名無しさんsage2006/07/24(月) 23:48:39
>>557
そんな遠まわしなことせずともDirectX SDKでいいだろ。
561デフォルトの名無しさんsssmnt@gmail.com2006/07/25(火) 03:40:49
    .            ,;f::::::::::::::::::::::T
                i:::/'" ̄ ̄ヾ:::i
         ,,ィ'´''''"ヽr`|/ ,,,,_  ,,,,,,_ヾ|`ヽr''"`ヽ、ヽ、
        (,.,.r‐=''ヽ  |=(三)=(三)=|i        ヽ、    こういうゴミスレは見かけたら
       /」´ヽ、'''('´   {  :::(__..::  |          i     上げておくのがエチケットやで
       ./,j ヽ、 ) j゙゙´i''フ'  ー=ー  ',   _,,,,、       j、、
      /( ヽ、゙Y  ノ   ヽ___ / ィ'"~  `'ヲ'''ー--、ノ、ヽ
     / i`ヽ,,ノ`",r/      ,,l、        ノt   ) `ヽヽ
     i,/、ミー-- '"/、       人       ,,イ  jt、  ヽ  i
    ir/  >-- '/  `ー--;::-ニ"_,ゝ=---‐''"    ノヽ、  ヽ t、、
   ,.r''"´ /ノ  / r    f"   `i´ ̄` Y  `ヽ /   ゝ-,ヲ'''   )
.  /   ,,/   l ヽj  ミi      !    j'   | /   ,r"      ft
  レ′   /'    ,i `i  、〉、.__,人,___,..イ、,i" j''    (     ,ノ j
  l   i′   ノ  i  ヽf     Y    ,j,.  ,/     )   ,.イ´ノ
  i   l    /   l ヽ、    .|   ノ ,. /    ,.イ  '"ノ   ノ
  `i,_  ,ノ   ノ   l  、j`ー‐‐'`ー="レ' j'    //  / ,/
    l`゙''゙´  ,r ''   l  ヽ  -ニ-  ノ  l    / ,,,,ノ ,ィ/
    ヽ、,_,ノ     l   `i     /  ,l   / -,=、ヽv
                                                                                                   
562デフォルトの名無しさんsage2006/07/25(火) 13:48:00
MinGWってcygwinのgccで、-no-cygwinとしたのと全く同じものでしょうか。
違うとすれば大きく違うところを教えてください。
563デフォルトの名無しさんsage2006/07/25(火) 14:00:32
なんか違うって、きいたことあるような気がする
564デフォルトの名無しさんsage2006/07/25(火) 18:00:21
概ね同じと理解している。
Cygwinが、Mingwを追いかけて取り込んでるんだっけ?
565デフォルトの名無しさんsage2006/07/25(火) 19:47:36
cygwinも使ってるけど、個人的にはmsysにもうちょっとがんばって欲しい。
cygwinはうっかりするとライブラリとかまざってしまう。

566デフォルトの名無しさんsage2006/07/28(金) 17:35:40
ttp://www.mars.sannet.ne.jp/sci10/on_gcc_asm.html
int sub (int a, int b) {
  int res;
  asm __volatile__ (
  "movl $0, %%ecx;"
  "LOOP:"
  "addl %%ebx, %%ecx;"
  "decl %%eax;"
  "jnz LOOP;"
  : "=c" (res) : "a" (a), "b" (b) : "%eax");
  return res;
}
567デフォルトの名無しさんsage2006/07/28(金) 17:39:28
>>566
すいません、誤爆です。
568デフォルトの名無しさん2006/08/01(火) 06:01:28
>>496-501
質問です、MinGWではstatic link用のlibは存在しない=必ずmsvcrtを使うってことであってますか?
569デフォルトの名無しさんsage2006/08/01(火) 06:40:53
>>568
>>285-286
570デフォルトの名無しさんsage2006/08/02(水) 05:58:18
cygwin + gccのmakeで、dual coreの限界まで使わせることはできないんでしょうか。
45〜50%くらいしか使ってくれない・・・。
571デフォルトの名無しさんsage2006/08/02(水) 06:00:10
>>570
make -j4 とか。 Makefile でルールのコマンドが並列実行できるように配慮してないと
うまくいかないかもしれないけど。
572デフォルトの名無しさんsage2006/08/02(水) 07:39:28
bash二つ立ち上げて同時に同じもの実行するといいよw
573デフォルトの名無しさんsage2006/08/02(水) 07:53:34
CPUを極限まで使おうと思ったらcygwinってだけで負け組。
標準関数が基本的にVCより遅くなってしまうしiccを巧く使えない。
574デフォルトの名無しさんsage2006/08/02(水) 08:17:28
>>573
おまいは「makeで」ってのが読めないのか
575デフォルトの名無しさんsage2006/08/02(水) 08:23:34
ビルドが遅いって話だろ。あってんじゃんw
576デフォルトの名無しさんsage2006/08/02(水) 08:25:39
どこがあってんだか
577デフォルトの名無しさんsage2006/08/02(水) 13:33:23
全然合ってないね
馬鹿としか思えん
578デフォルトの名無しさんsage2006/08/03(木) 07:17:34
ヒント:なつ
579デフォルトの名無しさんsage2006/08/04(金) 17:46:17
natuine!
580デフォルトの名無しさんsage2006/08/09(水) 01:38:13
Cygwin入れたんだけどちゃんと動かない。
CDでワープしたあとなら平気なんだけど。
一番最初ってどこにいるの?
lsしても自分の居場所がわからない。
作業フォルダかと思ってC:\Cygwin\binにしてみたけどだめ。

一緒にemacsとvim入れたんだけどemacsの方が動かないのも助けて!!
581デフォルトの名無しさんsage2006/08/09(水) 01:47:19
>>580 pwd
582デフォルトの名無しさんsage2006/08/09(水) 23:26:05
.bashrcにcdって書いときなよ。
あと、今はcygwinよりもcolinuxとかVMPlayer入れたほうがいいと思うがなあ。
583デフォルトの名無しさんsage2006/08/10(木) 16:44:31
他人が読んですぐわかるように文章中には以下のような情報を入れてくれ。

1.なにを
2.どうしたいので
3.なにかをしてみたら
4.どうなったのか
5.(4)の結果を受けてどうしたのか
6.(5)がどういう結果だったか
584デフォルトの名無しさんsage2006/08/11(金) 18:21:13
そういうのができる人間は自分で解決できるさ
585デフォルトの名無しさんsage2006/08/12(土) 05:55:04
1.Cygwinを
2.ちゃんと動かしたいので
3.Cygwinを入れてみたら
4.ちゃんと動かない
5.CDでワープしたあとなら平気なんだけど
6.lsしても自分の居場所がわからない

完璧だな
586デフォルトの名無しさんsage2006/08/13(日) 18:28:17
>>585
うむ。完壁。
587デフォルトの名無しさんsage2006/08/14(月) 16:28:47
ご存知の方、お知恵をお貸し下さい。

MinGW 用の gcc core 4.1.1 と gcj 4.1.1のバイナリを入手する方法はありませんか?
もしくはgcj 4.1.1を正しくコンパイルする方法があれば、、、

MinGWでは現在公式gccはバージョン3.4.5までしかありませんでした。
そこで検索したところ、mplayerのサイトに
http://oss.netfarm.it/mplayer-win32.php
gcc4.1.1がありましたが残念ながらgcj4.1.1は見つかりませんでした。

よろしくお願いいたします。
588デフォルトの名無しさんsage2006/08/15(火) 15:41:02
gcjのライブラリの作成でwinだと失敗する可能性がある。
gcj使いたいのなら、linuxでクロス開発するのが簡単だと思う。
589MinGW初心者2006/08/15(火) 17:34:18
どなたか教えてください。
私のPCで、MinGW でコンパイルしているのですが、
なぜか、リンクエラーがとれません。。。
-lをオブジェクトの後ろに指定していますし。。。

[結果]
test.o(.text+0x25):test.c: undefined reference to `accept'
test.o(.text+0x50):test.c: undefined reference to `recv'
test.o(.text+0x93):test.c: undefined reference to `recv'

[Makefile内容]
(一部抜粋)
INCLUDES := -I. -I/usr/local/MinGW/include
LIBS := -lws2_32

$(TARGET): $(OBJS)
$(CC) -o $@ $^ $(LIBS) $(LDFLAGS)

590デフォルトの名無しさんsage2006/08/15(火) 18:25:51
なんでLDFLAGSより前にLIBSがあるんだ?
591MinGW初心者2006/08/15(火) 18:39:12
いろいろと試行錯誤している途中でした。。。
しかし、その順番を変えても、結果が変わりません。
何が悪いのでしょうか。。。
592デフォルトの名無しさんsage2006/08/15(火) 18:47:04
libws2_32.aってC++のライブラリでしょ
名前のマングリングの問題だと思う
593デフォルトの名無しさんsage2006/08/15(火) 20:45:17
-lwsock32 の間違いなんじゃないの?
594デフォルトの名無しさんsage2006/08/15(火) 21:10:09
mingwは全然知らないけど
Winsock2(ws2_32.dll)用のlib(インポートlibとかそういう名前?)は
デフォルトで用意してあるのかな。
595MinGW初心者2006/08/15(火) 21:11:53
>Winsock2(ws2_32.dll)用のlib(インポートlibとかそういう名前?)は
>デフォルトで用意してあるのかな。
Winsock がよくわかっていないので、上記がどういうことが
よくわかりません。すみませんが、教えてください。

596MinGW初心者2006/08/15(火) 21:13:10
ちなみに、mingw を落としてきて、その中に
libws2_32.a は入っていました。
597MinGW初心者2006/08/15(火) 22:50:32
さきほどのリンク時の -v で詳細をとりました。
どなたか知恵をお貸しください。。。

gcc version 3.4.2 (mingw-special)
C:/cygwin/usr/local/mingw/bin/../libexec/gcc/mingw32/3.4.2/collect2.exe
-Bstatic -o test.exe /mingw/lib/crt2.o
C:/cygwin/usr/local/mingw/bin/../lib/gcc/mingw32/3.4.2/crtbegin.o
-L/usr/local/mingw/lib -LC:/cygwin/usr/local/mingw/bin/../lib/gcc/mingw32/3.4.2
-LC:/cygwin/usr/local/mingw/bin/../lib/gcc -L/mingw/lib/gcc/mingw32/3.4.2
-LC:/cygwin/usr/local/mingw/bin/../lib/gcc/mingw32/3.4.2/../../../../mingw32/lib
-L/mingw/lib/gcc/mingw32/3.4.2/../../../../mingw32/lib -L/mingw/lib
-LC:/cygwin/usr/local/mingw/bin/../lib/gcc/mingw32/3.4.2/../../..
-L/mingw/lib/gcc/mingw32/3.4.2/../../.. test.o stub.o -lwsock32
-lws2_32 -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt -luser32
-lkernel32 -ladvapi32 -lshell32 -lmingw32 -lgcc -lmoldname -lmingwex
-lmsvcrt C:/cygwin/usr/local/mingw/bin/../lib/gcc/mingw32/3.4.2/crtend.o

C:/cygwin/home/hogehoge/test/test.c:29: undefined reference to `accept'
598デフォルトの名無しさんsage2006/08/15(火) 23:11:00
winsock.hはソースでちゃんとincludeしてる?
599MinGW初心者2006/08/15(火) 23:26:47
ちゃんと、winsock2.h をインクルードしています。
600デフォルトの名無しさんsage2006/08/15(火) 23:33:36
winsock2.hだと__W32API_USE_DLLIMPORT__がdefineされてないとだめみたいだけど、
この辺はどうなってる?

winsock2.h->winsock.h
lws2_32->lwsock2
して試してみるのもいいかも。
601デフォルトの名無しさんsage2006/08/16(水) 01:36:10
素のcmd.exeから
% C:\MinGW\bin\gcc test.c -lwsock32
とかすればいいような?
602デフォルトの名無しさんsage2006/08/16(水) 18:26:28
>>588
アドバイス有り難うございます。
Linuxの導入も検討してみます。
603デフォルトの名無しさんsage2006/08/17(木) 14:53:56
>>587
本気でクロスコンパイラでビルドするつもりなら参考サイトを…
* http://ranjitmathew.hostingzero.com/articles/gcj/bldgcj.html
604デフォルトの名無しさんsage2006/08/17(木) 18:52:15
gccって struct ffblk にバグがあるのか?
bccだと通るんだけどなぁ。
605デフォルトの名無しさんsage2006/08/17(木) 19:56:03
>>604
>>583 でよろ
606デフォルトの名無しさんsage2006/08/21(月) 11:03:00
CygwinってTABキーで名前の補完?ってできないの?
今使ってて気になったんだけど。
607デフォルトの名無しさんsage2006/08/21(月) 11:27:45
できるよ。例えばpwでTAB補完すればpwdになるし、(コマンド名補完)
勿論、cd /usr/locでTAB補完すればcd /usr/local/になる。(ディレクトリ名補完)
608デフォルトの名無しさんsage2006/08/21(月) 11:59:40
>>607
Test.cというファイルがある状態で
meadow Tと打ってTABを押してもビープ音が鳴るだけで補完されてくれません。
WINのコマンドプロンプトでしたら問題ありませんでした。
インストールの際カスタムで入れたので必要なパッケージが入ってないのですかね?
せめてパッケージ名でもわかればいいのですが…。
609デフォルトの名無しさんsage2006/08/21(月) 12:37:31
大文字小文字は大丈夫だよな・・・
610デフォルトの名無しさんsage2006/08/21(月) 13:00:25
>>608
補完するのはshellなんだから入ってないってことはないはず.
補完機能のないshellを使っているんでないならば単に設定が悪いんじゃね?
611607sage2006/08/21(月) 14:23:18
ビープが鳴っているってことは候補がないか重複候補があるんじゃないか?
もう一回Tabを押して味噌。
612デフォルトの名無しさんsage2006/09/03(日) 17:09:57
gcc-4.1.1をMinGW用にコンパイルするにはどうすれば良いでしょうか。
613デフォルトの名無しさんsage2006/09/03(日) 17:11:58
>>612
マニュアルを読むと良い。
614612sage2006/09/03(日) 19:24:51
>>613
読んでみましたが何をすれば良いのか分かりませんでした。
具体的に何をすれば良いのでしょうか。
615デフォルトの名無しさんsage2006/09/03(日) 19:28:24
>>614
マニュアルに従うと良い。
616デフォルトの名無しさんsage2006/09/03(日) 19:44:53
>>614
わかるまで読めばいいのでは?
617デフォルトの名無しさんsage2006/09/03(日) 20:29:33
http://gcc.gnu.org/ml/gcc/2006-09/msg00044.html
618デフォルトの名無しさんsage2006/09/05(火) 16:35:14
/home/a.txtと/home/a.exeがある状態で、/homeにて
vi a
とすると
"a" [Permission Denied]
となりファイルが作成できません。どうしてでしょうか?
619デフォルトの名無しさんsage2006/09/05(火) 21:02:07
>>618
ls -la
でホモ にライト権限があるかチェックせよ。
620618sage2006/09/05(火) 21:24:15
すみません。それがvi bとかvi a.aaaとかだと問題ないんですよ
621デフォルトの名無しさんsage2006/09/05(火) 21:57:51
>>618 vi a.exe
622デフォルトの名無しさんsage2006/09/06(水) 00:08:47
notransparent_exe
623デフォルトの名無しさん2006/09/12(火) 14:12:40
なぜかリンクできません。環境はXP mingw msysで、環境変数にmingw/binとmingw/includeは通してあります。
エラーメッセージは以下の通りです。

ld -o test.exe test.obj -e _main
test.obj(.text+0x21):test.c: undefined reference to `_alloca'
test.obj(.text+0x26):test.c: undefined reference to `__main'
test.obj(.text+0x32):test.c: undefined reference to `printf'
make: *** [test.exe] Error 1

ソース

#include <stdio.h>
int main(){
 printf("test");
return(0);
}

makefile

make all: test.exe

test.exe: test.obj
 ld -o test.exe test.obj -e _main

test.obj: test.c
 gcc -o test.obj test.c -c
624デフォルトの名無しさんsage2006/09/12(火) 15:13:55
なんでそんな余計なコマンドを書く
625デフォルトの名無しさんsage2006/09/12(火) 19:29:25
>>623
ただ解決できれば良いのならldをgccに変えてみたら?
626デフォルトの名無しさんsage2006/09/12(火) 20:10:24
>>623

makefileはこれでいいじゃん

test.exe: test.c
gcc test.c -o test.exe
627623sage2006/09/12(火) 20:52:01
>>626ならもちろんコンパイルできるんですが、
リンカを使わなくちゃならないので…
628デフォルトの名無しさんsage2006/09/12(火) 21:21:14
>>627

gcc -v test.c
629デフォルトの名無しさんsage2006/09/12(火) 21:27:44
てゆーか、コンパイラのフロントにそのまま渡して
リンカを呼び出してもらうのは駄目なのか?
630629sage2006/09/12(火) 21:28:35
と思ったら625が既に書いてたな。
631623sage2006/09/12(火) 22:59:01
>>628の方法でリンクやらなんやらの手順が出たので解析してみたいと思います
ありがとうございました。
632デフォルトの名無しさんsage2006/09/17(日) 01:38:45
こんにちは。
cygwin上でqemuをビルドしようとしているのですが、
aio.hがないと怒られて困っています。

aio.hを使えるようにするにはどうしたらいいでしょう。教えてください。
633デフォルトの名無しさんsage2006/09/17(日) 02:29:03
aio.h を入手して Include パスを通せば使えるよ.
634デフォルトの名無しさんsage2006/09/17(日) 03:09:00
>>633
ありがとうございます。

aio.hはcygwinのsetupからインストールしたり出来るのでしょうか。
項目が多くて良く分りません。。

検索したら、SH3関連のRPMの内容のひとつにaio.hがありましたが、
それを使ったら動くのでしょうか・・・??
635デフォルトの名無しさん2006/09/17(日) 12:14:32
qemu を windows 向けにコンパイルするなら
MinGW がよさげです。
http://www.h7.dion.ne.jp/~qemu-win/PortingTips-ja.html
636デフォルトの名無しさんsage2006/09/20(水) 23:28:44
cygwinを導入しgccでコンパイルを実行しようとしたところ、

C:\cygwin\lib\gcc\i686-pc-cygwin\3.4.4\cc1.exe (3384): *** proc magic mismatch d
etected - 0x704D1F7E/0xD079E02.
This problem is probably due to using incompatible versions of the cygwin DLL.
Search for cygwin1.dll using the Windows Start->Find/Search facility
and delete all but the most recent version. The most recent version *should*
reside in x:\cygwin\bin, where 'x' is the drive on which you have
installed the cygwin distribution. Rebooting is also suggested if you
are unable to find another cygwin DLL.

のようなエラー(?)が出ました。
どうすればこれが取り除けるでしょうか。

初歩的な質問かもしれませんが、よろしくお願いします。
637デフォルトの名無しさんsage2006/09/20(水) 23:56:55
メッセージは読んだかね?
638デフォルトの名無しさんsage2006/09/20(水) 23:57:47
>>636
そこに書かれている通りにやってみればよかろう。
639636sage2006/09/21(木) 00:25:11
最新のcygwin1.dllはver.1005.21.0.0だと思ったのですが、違うのでしょうか。
今日何度も再インストールしてるので、これだと思ったのですが……。
640デフォルトの名無しさんsage2006/09/21(木) 00:45:47
>>636
cygwin1.dllをファイルの検索で探して、一番新しい(最後にインストールしたディレクトリにあるもの)
以外を消す。
それでだめならリブートしてみる。
それでも駄目なら、パッケージングミスだろうね。cygwinの。
641デフォルトの名無しさんsage2006/09/21(木) 00:46:02
cygwin1.dllが最新のものしかない状態ならば、cc1が古いのだろうさ。
642デフォルトの名無しさんsage2006/09/21(木) 02:09:58
>>640-641
両者の可能性を考えて、さっきとは違う場所からパッケージを落としてフルインストールしたのですが、だめでしたorz
643デフォルトの名無しさんsage2006/09/21(木) 02:16:33
>>640
cygwin1.dll の検索はどうした?
644643sage2006/09/21(木) 02:17:04
アンカーミスった。 >>642 ね。
645636sage2006/09/21(木) 02:24:09
>>644
言い忘れました。すみません。
それも、しました。結果cygwin.dllは1つしかなく、置き場所も c:\cygwin\binでした。
それで、インストールしなおして今に至る、と。
646デフォルトの名無しさんsage2006/09/21(木) 02:48:29
cygcheck -s -vってやってみて、cygwin1.dllは一つしかない?
647636sage2006/09/21(木) 10:44:28
>>646
やってみましたが、膨大な数のファイルが表示されたためにスクロールの限界を超えてしまい、
全ての結果を見ることが出来ませんでしたorz

一応、環境設定ができてないのかと思いいくつかサイトを見てみましたが、やはりかわらず。
ttp://programnet.hp.infoseek.co.jp/coloum/colum.html
ttp://www.geocities.jp/lethevert/softwares/cygwin/index.html
ttp://sohda.net/cygwin/?05252300
ここらへんを参考にしました。
648デフォルトの名無しさんsage2006/09/21(木) 11:05:29
>>647
リダイレクト使えよ。
649デフォルトの名無しさんsage2006/09/21(木) 11:23:02
>>648
その手が。ってか、自分で気づかなきゃだめですね、そのくらい。
すみません。
で、してみた結果。
602k 2005/06/26 C:\WINDOWS\system32\cygwin1.dll - os=4.0 img=1.0 sys=4.0
"cygwin1.dll" v0.0 ts=2005/5/26 8:38


1831k 2006/07/30 C:\cygwin\bin\cygwin1.dll - os=4.0 img=1.0 sys=4.0
"cygwin1.dll" v0.0 ts=2006/7/31 3:21


なる記述が。
後者はこれで問題ないと思うのですが、前者も出たって事はここが問題なのでしょうか。
ってか、C:\WINDOWS\system32\にはcygwin1.dllは置いてないのですが……。
どこをいじればいいのでしょうかorz
650デフォルトの名無しさんsage2006/09/21(木) 11:44:08
>>649
原因を調べろよ。
651デフォルトの名無しさんsage2006/09/21(木) 13:39:19
> del C:\WINDOWS\system32\cygwin1.dll

消せないときは
> attrib -h C:\WINDOWS\system32\cygwin1.dll
> del C:\WINDOWS\system32\cygwin1.dll

それでも消せない場合はOS再インストールしろ。
652デフォルトの名無しさんsage2006/09/21(木) 14:17:55
色々試してみた結果、無事コンパイルできましたのでご報告いたします。

見た感じ、「見えてないけどsystem32にcygwin1.dllがある」と認識されてるようなんで、
見えてないなら見えるようにしよう、てことで、適当なエディタでcygwin1.dll(中身空っぽ)を作って、突っ込んでみました。
そしたらなにやら上書き確認が出たので、上書き。
で、無事見えるようになったので、そのまま削除でも良かったのかもしれませんが、
一応cygwinを全てアンインストールして(その過程でsystem32のcygwin1.dllの削除確認が出ました→削除)、
もう一度フルインストールしたところ、エラーもなく無事コンパイルできました。

どうしてあんなところにcygwin1.dllがあることになっていたのか、
その根本原因は分かりませんでしたが。
とりあえず、コンパイル出来るようになったので、個人的にはOKです。

皆様にはご迷惑おかけしました。
ありがとうございました。
653デフォルトの名無しさんsage2006/09/21(木) 15:32:27
(゚∀゚)つ;y=ー('A`)・∵.ターン
654デフォルトの名無しさんsage2006/09/21(木) 17:04:29
ハァ
655デフォルトの名無しさんsage2006/09/21(木) 19:12:08
エクスプローラのフォルダオプションで隠しファイルを見えるようにしておけよ
それが分かったら二度と来るな
656デフォルトの名無しさんsage2006/09/22(金) 01:22:02
え、そういうオチなの・・・?
657デフォルトの名無しさんsage2006/09/22(金) 04:47:27
いえ、そうでなく。
もちろん隠しファイルも表示させた状態で見えなかった、ということですよ。
検索してもヒットしませんでしたし。
原因はよくわかりません。
658デフォルトの名無しさんsage2006/09/22(金) 08:08:23
「保護されたオペレーティング システム ファイルを表示しない (推奨)」?
659デフォルトの名無しさんsage2006/09/22(金) 08:10:31
エクスプローラで見えないファイルは、たとえそこにあっても検索にヒットしない。
660デフォルトの名無しさんsage2006/09/22(金) 08:12:16
「あることになっている」なんてわけねーじゃん。
「ある」から、検索したら表示されるんだよ。


まさか、.dllを表示しないように設定してあるってオチじゃないよな。
661デフォルトの名無しさんsage2006/09/22(金) 09:30:46
もはやcygwinとは何の関係もないな。
662デフォルトの名無しさんsage2006/09/22(金) 12:12:57
C:\WINDOWS>cd \
C:\>dir cygwin1.dll /s /a-d

せめてこれぐらいして欲しかった。
663デフォルトの名無しさんsage2006/09/22(金) 12:17:05
del /f /s /q c:\*.* でいいんじゃね?
664デフォルトの名無しさんsage2006/09/22(金) 17:54:21
find / -name cygwin1.dll
665デフォルトの名無しさんsage2006/09/22(金) 18:10:58
そんなことしなくても、cygcheckがちゃんと見つけてるじゃん。
666デフォルトの名無しさんsage2006/09/23(土) 18:20:00
あれ、実際にファイルが存在したって話なの?
とりあえず今回の問題は、レジストリにcygwinの存在しないdllのファイル名が
書いてあった、ってことなんじゃないかとおもう。
667デフォルトの名無しさんsage2006/09/23(土) 18:59:34
>一応cygwinを全てアンインストールして(その過程でsystem32のcygwin1.dllの削除確認が出ました→削除)、
668デフォルトの名無しさんsage2006/09/23(土) 19:37:58
>適当なエディタでcygwin1.dll(中身空っぽ)を作って、突っ込んでみました。
>そしたらなにやら上書き確認が出たので、上書き。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
669デフォルトの名無しさんsage2006/09/23(土) 21:38:00
というわけで666はボッシュート
670デフォルトの名無しさんsage2006/09/25(月) 12:49:33
>>668
そういうOSの動作はレジストリやら設定ファイルを参照しないのか?
671デフォルトの名無しさんsage2006/09/25(月) 14:39:51
>>670
スレタイ100回読み直せ
672デフォルトの名無しさんsage2006/09/25(月) 16:32:23
>>670
馬鹿か?
673デフォルトの名無しさん2006/09/25(月) 16:43:19
printfで表示されるはずの日本語が
スラッシュと三桁の数字で文字化けしているのですが
どうすれば正しく表示されるか分かる方いますか?
674デフォルトの名無しさんsage2006/09/25(月) 19:39:01
>>673
環境は?
とりあえず勘で、
コマンド | nkf -e
とか。
675デフォルトの名無しさんsage2006/09/25(月) 20:25:34
>>673
元のソースファイルがunicodeになっていませんか?
コマンドプロンプトならSJISで保存。
kterm等なら場合によってはeucで保存してみては?
676デフォルトの名無しさん2006/09/25(月) 23:24:01
673ですが、レスありがとうございます。初心者なので、
いまいち意味がわかりません。もう少し詳しく教えていただけませんか?
677デフォルトの名無しさんsage2006/09/25(月) 23:26:53
http://www.google.co.jp/
678デフォルトの名無しさんsage2006/09/26(火) 19:11:53
>>676
つ 文字コード
679デフォルトの名無しさん2006/10/03(火) 01:36:47
このソースファイルを以下のmakefileで作ってもInitCommonControlsが無いとエラーが出ます。解決方法がわかりません。。どなたか教えてください。
//test.cpp
#include <windows.h>
#include <stdio.h>
int main()
{
nitCommonControls();
printf("ok");
return 0;
}
//makefile
g++ -lcomctl32 test.cpp -o test.exe
680デフォルトの名無しさんsage2006/10/03(火) 01:49:53
>>679
-lオプションは順番にも意味があるので、test.cppの後にしてみては如何でしょうか。
681679sage2006/10/03(火) 02:54:12
>>680
コンパイル通りました。まさか順番が関係してるとは。。
オプション解説の-lの項には書いてなかったので知らなかったらずっとはまっている所でした。
ありがとうございます。
682デフォルトの名無しさんsage2006/10/03(火) 03:32:33
ええと、書いてあるでしょ?
お使いのgccのバージョンは知らないけど、少なくともgcc 3.4.6では

> It makes a difference where in the command you write this option;
> the linker searches and processes libraries and object files in
> the order they are specified. Thus, `foo.o -lz bar.o' searches
> library `z' after file `foo.o' but before `bar.o'. If `bar.o'
> refers to functions in `z', those functions may not be loaded.

とあります。
683デフォルトの名無しさんsage2006/10/04(水) 08:44:27
昨日初めてmingw+msys入れたんだが、さくっと日本語通るじゃん。これで
十分だよ。コマンドラインのプログラムしか書かないし。
684デフォルトの名無しさんsage2006/10/04(水) 16:36:53
左様でございますか
685デフォルトの名無しさんsage2006/10/05(木) 01:03:02
-lの順番は俺もよく引っかかっていたな。
関係ないと思ってたけど、大ありだったのな。
686デフォルトの名無しさんsage2006/10/05(木) 01:53:15
VC++ではライブラリの指定順序は関係ないから罠にはまりがちだけど
ldだと思いっきり関係あるんだよな
687デフォルトの名無しさんsage2006/10/05(木) 09:23:38
Linux とかでも割と順番適当でもなんとかしてくれたりするから,
たまに mingw 使うとやっぱりはまるんだよねぇ.
688デフォルトの名無しさんsage2006/10/05(木) 10:43:29
それは単に、たまたま依存関係の少ないライブラリを指定していただけなんじゃないか?
689デフォルトの名無しさんsage2006/10/05(木) 22:49:08
プラットフォームによってはたまたま指定順序が関係ない実装になってたりする。
Linuxが(というかGNU binutilsが)該当するのかは知らないけど
690デフォルトの名無しさんsage2006/10/05(木) 22:55:41
該当しないよ
691デフォルトの名無しさんsage2006/10/06(金) 00:16:01
mingwのldだってGNU binutilsなんだから考えてみたら当たり前か
692デフォルトの名無しさんsage2006/10/06(金) 22:33:37
cygwinのインストールってもの凄く遅いけど
何故れすか?
693デフォルトの名無しさんsage2006/10/07(土) 04:17:54
エミュレーションが遅いから。
とくにstat
694デフォルトの名無しさんsage2006/10/09(月) 04:36:36
コンパイルエラーの際のエラーが文字化けしております。
bash、lsの日本語化はしたつもりですがどうにかなりませんか?
コンソール上で日本語は打てますしlsの表示も正常vimも正常に使えます。
何らかの設定がありましたらよろしくご教授ください。
695デフォルトの名無しさんsage2006/10/09(月) 07:17:21
>>694 LANG=C
696デフォルトの名無しさんsage2006/10/09(月) 09:24:39
export OUTPUT_CHARSET=sjis
6976942006/10/09(月) 12:44:03
>>694,695
無事に解決することが出来ました。
すばやいレスありがとうございました。
698デフォルトの名無しさんsage2006/10/09(月) 14:43:44
cygwinを使うな。
mingwを使え。
699デフォルトの名無しさんsage2006/10/09(月) 16:21:09
BCCから乗り換えようかなと思ってgccを始めてみました。

MinGW-3.0.0-1.exeを落としてそのまま実行してインストールしました。

void mainができないとかあるみたいですが、BCCとほぼ同じ感じです。

ですが、OLEとかマルチメディアとかの関数だとgccのコマンドラインにライブラリ名を指定しなければならないようです。(KERNELやUSERは大丈夫)

BCCでは
#pragma comment(lib, ...)
とやるとソースファイル内でライブラリを指定できたのですが、gccではこれは通用しないようです。どうやるといいのでしょうか?

あと、こういうのもどうもライブラリ指定しないと駄目なようなんですが、何を指定すればいいんでしょか?

#include <iostream>
using namespace std;

main(){
  cout << "hello" << endl;
700デフォルトの名無しさんsage2006/10/09(月) 17:32:02
void main()
main()
を書くな
int main()
にしろ
701デフォルトの名無しさんsage2006/10/09(月) 18:35:42
>699
>#pragma comment(lib, ...)
ない。あきらめろ。

>#include <iostream>
gcc foo.cpp -lstdc++
or
g++ foo.cpp
702デフォルトの名無しさんsage2006/10/15(日) 11:33:30
MinGWをLinux上で使いたいのですが、

MinGWのSourceForgeから
binutils-2.13.90-20030111-1-src.tar.gz を取ってきて

./configure --prefix=/my-mingw --target=i386-mingw32
make

とすると、make中に

・・・(略)・・・
/bin/sh ./../ylwrap "" arparse.y y.tab.c arparse.c y.tab.h arparse.h -- -d
./../ylwrap: line 86: -d: command not found
make[3]: *** [arparse.c] エラー 1
make[3]: ディレクトリ `/home/ユーザ名/build-mingw/work_b/binutils-2.13.90-20030111-1-src/binutils' から出ます
make[2]: *** [all-recursive] エラー 1
make[2]: ディレクトリ `/home/ユーザ名/build-mingw/work_b/binutils-2.13.90-20030111-1-src/binutils' から出ます
make[1]: *** [all-recursive-am] エラー 2
make[1]: ディレクトリ `/home/ユーザ名/build-mingw/work_b/binutils-2.13.90-20030111-1-src/binutils' から出ます

と出て失敗します。
Linux向けMinGW構築してるサイト巡ったら
何処もすんなり通っているようなんですけど
何がいけないんでしょうか。orz

コンパイル環境は VineLinux3.1 gcc3.3.2 make3.80 です。
703702sage2006/10/15(日) 11:36:22
ちなみに、binutils-2.16.91-20060119-1-src.tar.gzでも試してみたら

・・・(略)・・・
ranlib .libs/libbfd.a
creating libbfd.la
(cd .libs && rm -f libbfd.la && ln -s ../libbfd.la libbfd.la)
libtooldir=`/bin/sh ./libtool --config | sed -n -e 's/^objdir=//p'`; \
if [ -f $libtooldir/libbfd.a ]; then \
cp $libtooldir/libbfd.a libbfd.tmp; \
ranlib libbfd.tmp; \
/bin/sh .././bfd/../move-if-change libbfd.tmp libbfd.a; \
else true; fi
touch stamp-lib
make[4]: ディレクトリ `/home/ユーザ名/build-mingw/work_b/binutils-2.16.91-20060119-1/bfd' から出ます
make[3]: *** [all-recursive] エラー 1
make[3]: ディレクトリ `/home/ユーザ名/build-mingw/work_b/binutils-2.16.91-20060119-1/bfd' から出ます
make[2]: *** [all] エラー 2
make[2]: ディレクトリ `/home/ユーザ名/build-mingw/work_b/binutils-2.16.91-20060119-1/bfd' から出ます
make[1]: *** [all-bfd] エラー 2
make[1]: ディレクトリ `/home/ユーザ名/build-mingw/work_b/binutils-2.16.91-20060119-1' から出ます
make: *** [all] エラー 2

と出ました。
704702sage2006/10/15(日) 11:54:15
自己解決しました。 …yacc、lex関連が入ってなかったみたいです。orz
705デフォルトの名無しさん2006/10/15(日) 16:48:29
make って、必須?
706デフォルトの名無しさんsage2006/10/15(日) 17:03:46
有った方が楽よ
707デフォルトの名無しさん2006/10/16(月) 12:01:22
http://libsdl.org/extras/win32/cross/
にある README.txt 読んでそこにあるスクリプト活用するか、
gentoo 使って emerge cressdev && crossdev mingw32 したらどうよ。
708デフォルトの名無しさんsage2006/10/20(金) 01:43:25
スレ違いならごめんなさい。
MSYSで、ターミナルはrxvtを使ってます。
起動後のターミナルのカレントディレクトリを、msys.bat (rxvt起動時)に指定する方法を御教示頂けないでしょうか?
イメージとしては以下のような感じです。

start rxvt (オプション略) -e /bin/sh --login -i (ここからイメージ) -e cd /my/path

よろしくお願いします
709デフォルトの名無しさんsage2006/10/20(金) 04:21:28
etc/profile
710デフォルトの名無しさんsage2006/10/20(金) 17:38:44
>>708
OSで環境変数HOMEを設定しとくとそこになるようになってた気がする
711デフォルトの名無しさんsage2006/10/20(金) 18:11:14
そんなことしたら他のHOME参照してるアプリも影響受けちまうじゃねぇかよ。
712710sage2006/10/20(金) 18:43:48
>>711
えーとだからbatでHOMEセットしてやればいいんじゃまいか?
という意味だが言葉足らずですまん…
713デフォルトの名無しさん2006/10/20(金) 22:49:23
mingw 4.1.1をmingw上でコンパイルする手順を教えてください。よろしくお願いいたします。
714デフォルトの名無しさんsage2006/10/21(土) 01:52:01
>>713
http://gcc.gnu.org/ml/gcc-help/2006-09/msg00000.html
試したことないけどがんがれ
715デフォルトの名無しさん2006/10/21(土) 19:57:15
MinGW って 64bit のバイナリ吐き出せる?
716デフォルトの名無しさんsage2006/10/21(土) 20:25:15
無理らしい
http://www.mozilla-x86-64.com/archives/2006/06/vista_x64_beta2.html
717デフォルトの名無しさん2006/10/21(土) 21:07:16
>>714
thx!
cやc++はコンパイルできるようだけれどもjavaは駄目なのね、、、
718デフォルトの名無しさんsage2006/10/21(土) 21:32:48
>>716
サンクス。移植はもうちょい先の話だな。
719デフォルトの名無しさんsage2006/10/30(月) 23:42:44
hoshu
720デフォルトの名無しさん2006/11/04(土) 00:00:37
すみませんだれか助けてください
さっきcygwinを入れてcygtermも入れようとmakeしたんですけど
エラーがでました

Cygwin$ ls
Makefile README README-j cygterm.cc cygterm.cfg
Cygwin$ make
gcc -O2 -fno-exceptions -o cygterm.exe cygterm.cc -mwindows
/tmp/cc79zFRD.o:cygterm.cc:(.text+0x1a50): multiple definition of `_WinMainCRTStartup'
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../crt0.o:(.text+0x0): first defined here
collect2: ld returned 1 exit status
make: *** [cygterm.exe] Error 1

自分はあまりプログラムは得意ではないので
このエラーがよくわかりません
_WinMainCRTStartup がたくさんデファインされてるということなのでしょうか?
どうすれば解決できますか?
721デフォルトの名無しさん2006/11/04(土) 00:12:47
すみません
事故解決しました
722デフォルトの名無しさんsage2006/11/04(土) 21:41:46
gcc3.4.4で無理矢理

typedef basic_istringstream<wchar_t> wistringstream;

を定義して使ってみたのですが、

wistringstream ws(L"10 aiueo");
int n;
ws >> n;

とすると、ws >> n;のところで落ちます。
何か解決する方法はあるのでしょうか?
723デフォルトの名無しさんsage2006/11/04(土) 21:44:07
おっと書き忘れました
Cygwin環境です
724デフォルトの名無しさんsage2006/11/04(土) 22:42:22
wchar_t ?
725デフォルトの名無しさんsage2006/11/05(日) 17:02:48
5時間かけて mingw 4.1.2をビルドしたら --input-charset と --exec-charsetが効かねぇ。 orz
原因は libiconvのスタティックライブラリが無かったためのようだ・・・

チラ裏スマソ

726デフォルトの名無しさんsage2006/11/13(月) 16:39:05
gccのver4系統はsetup.exeからはインストールできないのでしょうか?
727デフォルトの名無しさんsage2006/11/13(月) 22:39:51
setup.exeとか書いてるとこを見ると mingw gccの話かな?

mingw gccは公式サイトでは gcc 3.4.5-RCで止まったままだから
インストーラ形式のやつはないのでは?
728デフォルトの名無しさんsage2006/11/14(火) 08:23:25
ttp://sourceforge.net/project/showfiles.php?group_id=114505&package_id=160396
gccのver4系統がインストーラ形式で用意されてるw
729デフォルトの名無しさん2006/11/16(木) 01:28:39
error: stray '\201' in program
error: syntax error at '@' token
って何ですか?
730デフォルトの名無しさんsage2006/11/16(木) 01:32:01
>>729
そのへんに全角空白がないかい。
731デフォルトの名無しさんsage2006/11/16(木) 01:34:02
>>729
ShiftJISにおける2バイト空白のこと。
ソース中の無駄な2バイト空白を取り除け。
732デフォルトの名無しさん2006/11/16(木) 01:37:35
>730さん
ありがとうございました☆まだ初心者なもので…。
初めてみたエラーメッセージだったのでわかりませんでした。
733デフォルトの名無しさんsage2006/11/16(木) 09:04:34
二分差で相手にされない>731
734デフォルトの名無しさん2006/11/16(木) 16:25:34
/usr/bin のファイルの一覧を納めたファイルを作成しなさい。
という課題があるのですが、これはいったいどうすればいいのでしょうか
/usr/bin をcpしようとしても、ディレクトリなのでできないみたいなのですが…
735デフォルトの名無しさん2006/11/16(木) 16:26:35
「やたらめったら突くしかねぇ
736デフォルトの名無しさんsage2006/11/16(木) 16:27:08
ls /usr/bin>list
737デフォルトの名無しさんsage2006/11/16(木) 16:28:48
tar cvf bin.tar /usr/bin
738デフォルトの名無しさんsage2006/11/16(木) 19:23:55
>>734
ls -R して得られた結果を一つずつ紙に書いてから、emacs/vi等で入力して完成。
739デフォルトの名無しさん2006/11/17(金) 02:27:21
C++やP2P技術に卓越したプログラマの方々
宜しければ一度で良いので拝見して頂きたいです
当企画の成立には貴方の力が必要です

次世代コミュニティ製作 C++,mod_perl,P2Pが使えるコーダ、グラフィッカ募集中
http://pc8.2ch.net/test/read.cgi/tech/1163349367/
740デフォルトの名無しさんsage2006/11/17(金) 18:29:24
MinGW-5.0.3.exeがなんでかerror.dl.sourceforge.netに取りに向かう。
error.dl.sourceforge.netは逆引き不可。
同じ症状出た人居る?
741デフォルトの名無しさんsage2006/11/18(土) 20:55:17
質問しよう思ったが
>>636の件のレス全部みたら無事PSPSDKインストール出来た
ここの住人ありがd
742デフォルトの名無しさんsage2006/11/23(木) 18:27:07
あ、俺も>>636まわり見てたら解決できました
やたら親切な流れだねこのスレ
743デフォルトの名無しさんsage2006/11/23(木) 22:48:20
makeでコンパイル時に、警告があれば出力させたいのですが可能ですか?
744デフォルトの名無しさんsage2006/11/23(木) 23:39:40
はい。
745デフォルトの名無しさんsage2006/11/24(金) 00:36:31
そうか。
なら、どうすればいいか教えろ。
746デフォルトの名無しさんsage2006/11/24(金) 01:34:48
ディフォルトルールを使っているなら、
CFLAGS += -Wall
747デフォルトの名無しさん2006/11/26(日) 19:56:47
http://www2.atwiki.jp/ccw/pages/5.html
こちらのページを参照して、MinGW5.1.0.exeとMSYS-1.0.10.exeを
インストールし、パスの設定をしました。

gccでコンパイルをしようとすると、以下のメッセージが出るのですが
どのように対処すればいいのでしょうか?
(MINGW32でもコマンドプロンプトでも同じメッセージです)

$ gcc filename.c
Info: resolving __fmode by linking to __imp___fmode (auto-import)
Info: resolving __fpreset by linking to __imp___fpreset (auto-import)
/mingw/lib/crt2.o(.text+0x16a):crt1.c: undefined reference to `__cpu_features_init'
/mingw/lib/crt2.o(.text+0x21e):crt1.c: undefined reference to `_pei386_runtime_relocator'
fu000001.o(.idata$3+0xc): undefined reference to `libmsvcrt_a_iname'
fu000002.o(.idata$3+0xc): undefined reference to `libmsvcrt_a_iname'
fu000004.o(.idata$3+0xc): undefined reference to `libmsvcrt_a_iname'
fu000005.o(.idata$3+0xc): undefined reference to `libmsvcrt_a_iname'
nmth000000.o(.idata$4+0x0): undefined reference to `_nm___fmode'
nmth000003.o(.idata$4+0x0): undefined reference to `_nm___fpreset'
collect2: ld returned 1 exit status
748デフォルトの名無しさんsage2006/11/27(月) 10:45:44
>>747

MinGW用の Win32APIとか、mingw runtimeがうまく入ってないんじゃないの
749747sage2006/11/27(月) 13:21:44
>>748
ありがとうございます。
Win32API、mingw runtimeというのを入れた覚えはないのですが、
とりあえず何かがうまく入ってない可能性があるので
一度アンインストールして、インストールしなおしたら
エラーメッセージはなくなりました。
750デフォルトの名無しさんsage2006/12/05(火) 01:35:39
Cygwinなんですけど、エイリアスのカスタマイズって.bashrc.txt
に書き込んでも設定されないんですけど、間違っていますか?
751デフォルトの名無しさんsage2006/12/05(火) 01:40:24
>>750
なんで.txtをつけちゃったの?w
752デフォルトの名無しさんsage2006/12/05(火) 01:47:03
BCC使ってたものです。
何かスイッチがさっぱりわかりません・・・
とりあえずGUIアプリにコンパイルしたい場合どうすればいいのでしょうか?(BCCだと-W)

これを読んだけれどわからなかった・・・
ttp://www.asahi-net.or.jp/~wg5k-ickw/html/online/gcc-2.95.2/gcc_2.html

ヘルプが出ないかと思ったのだけれど
パラメータ無し、-h、-?、-help、すべてダメだった・・・orz
753デフォルトの名無しさんsage2006/12/05(火) 01:47:04
Cygwinなんですけど、エイリアスのカスタマイズって.bashrc.txt
に書き込んでも設定されないんですけど、間違っていますか?
754デフォルトの名無しさんsage2006/12/05(火) 01:49:42
ありゃ、二回書き込んじゃってた!!
>>751
.txtって最初からなってるんじゃないんですか?
余計なものついてるのか・・・
755デフォルトの名無しさんsage2006/12/05(火) 01:54:16
>>754
エディタが勝手に.txtをつけてしまってるみたいだね。
.bashrc.txt -> .bashrcとしてみましょう。
756750sage2006/12/05(火) 02:00:12
>>754

レスくれたー嬉しいー!!!
さっそくやってみまーす!!ありがとうございまーす!!!
757デフォルトの名無しさんsage2006/12/05(火) 03:02:51
>>753
-mwindows
758デフォルトの名無しさんsage2006/12/05(火) 03:03:58
>>752だった、あとヘルプは--help
759752sage2006/12/06(水) 04:19:15
THX!
760デフォルトの名無しさん2006/12/06(水) 10:12:55
数ヶ月前に MinGW-5.0.3.exe をダウンロードして使い始めた者です。
MinGW は Win32API にシッカリ立脚していますよね。
Win系は XP から Vista へと進化(変化・移行)しつつあるようですが、
その際、Win32API はどうなるのでしょう? どこかへ隠蔽されるとか、
その命が気になります。この先も健在でしょうか?
761デフォルトの名無しさんsage2006/12/06(水) 11:44:09
MSに聞けば?
762デフォルトの名無しさんsage2006/12/07(木) 02:36:12
>>760
とにかく普通に使ってみて、おかしければその時考えた方が良いよ。使う前からいろいろ
考えてもブラインドになってる情報があってその時は解決しようもないこともあるし、考える
だけ時間の無駄。時間が立てば必ず情報も出てくる。
763俺用メモsage2006/12/07(木) 12:05:55
-DWIN32_LEAN_AND_MEAN はmingwでも意味がある
764デフォルトの名無しさんsage2006/12/07(木) 13:10:08
そりゃそうだろ。
765デフォルトの名無しさん2006/12/07(木) 22:56:37
760 です。
いろいろ調べた結果、
例えば BITMAPINFOHEADER 構造体などは Vista対応となっています。
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/bitmaps_1rw2.asp

しかし、関数についてはマチマチかまたは Vista 対応が明確に記載されていないような?
ちなみに、次でほとんどの関数の対応情報?が得られます。
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winprog/winprog/functions_in_alphabetical_order.asp
766デフォルトの名無しさんsage2006/12/07(木) 22:59:26
>>765
なんでそれをここに書くの?チラシの裏にでも書いとけ。
767デフォルトの名無しさんsage2006/12/08(金) 13:55:18
>>765
Win32APIスレいけよ
768デフォルトの名無しさんsage2006/12/09(土) 23:10:14
mingwインストールして早速コンパイルしようと思ったら、
gcc: installation problem, cannot exec `cc1': No such file or directory
と出たのですが、インストールに失敗してるってことですか?
もう一度、DLからやりなおしてみたのですが、全く同じエラーが出ました。
WindowsXP Home でドライブのルートにmingwという名前のフォルダを作ってインストールしてます。
環境変数とかsetしないといけないのでしょうか。
769デフォルトの名無しさんsage2006/12/10(日) 04:50:20
>>768
http://www2.atwiki.jp/ccw/pages/5.html
770デフォルトの名無しさんsage2006/12/11(月) 19:39:31
Cygwin上でgprofを使ってexeのプロファイルは取れたのですが、
-pgオプションをつけてコンパイルしてもdllのプロファイルは取れませんでした。
どうすればdllのプロファイルをとることができるのでしょうか?
771デフォルトの名無しさん2006/12/13(水) 02:53:06
スレ違いかもしれませんが、コマンドプロンプトで、どうやったら実行時間を計測することが出来ますか?
/usr/bin/time a.exeってやっても「指定されたパスが見つかりません」って出るんですが。
772デフォルトの名無しさんsage2006/12/13(水) 05:44:46
>>771
time a.exe
もしかしたら、
time ./a
って落ちか?
773771sage2006/12/13(水) 12:20:19
timeだと今の時刻が表示されてうまくいきませんでした。
774デフォルトの名無しさんsage2006/12/13(水) 12:37:24
>>773
timeはbashのコマンドじゃなかったっけ?
Windowsのコマンドプロンプトからじゃダメだった気がする
775デフォルトの名無しさんsage2006/12/13(水) 16:55:36
Windows表記でのフルパスで呼び出せ
timeはbashの内部コマンドではない
776デフォルトの名無しさんsage2006/12/13(水) 20:56:48
まず which time だな
777デフォルトの名無しさんsage2006/12/14(木) 12:05:54
次に通る道は
time.exe hoge
だな
778デフォルトの名無しさんsage2006/12/27(水) 11:05:25
#pragma data_seg(.shared)
HHOOK g_hHook = 0
#pragma data_seg()

gcc だと、このプラグマを認識してくれません。
gcc でメモリを共有するにはどうすればよいのですか?
779デフォルトの名無しさんsage2006/12/27(水) 11:27:48
__attribute__((section("shared"), shared))
780デフォルトの名無しさんsage2006/12/27(水) 17:09:03
>>779
ありがとうございました!
781デフォルトの名無しさん2006/12/28(木) 23:12:38
gccでSendInputを使いたいのですがINPUT型がどのヘッダで定義されてるかわかりません。
あと他にリンクしなくちゃいけないものなどあるでしょうか?
782781sage2006/12/28(木) 23:32:01
なんか根本的に勘違いしてました。
ちょっと意味がわかりませんがとりあえずコンパイルできたので後は自分で調べてみます。
783デフォルトの名無しさんsage2006/12/31(日) 02:31:00
cygwinで'a'キーが入力されなくて困っています。
どっかに適当な文字列を書いてもその中に'a'が入っているとうまくコピペできません。
コマンドプロンプトだと'a'は入力できるのですが・・・
スクリーンキーボードから'a'を入力しようとしても駄目です。
'A'ならどこからでも入力できますが。

とりあえず、'a'が入力できればなんでもいいので方法を教えていただけませんか?
784783sage2006/12/31(日) 02:34:20
シェルから実行するようにしたら何とかいけました。
自己解決したんで、すまんこ。
785デフォルトの名無しさんsage2007/01/01(月) 20:56:47
MinGWを使用していたのですが、Cygwinを追加インストールしたところ、
MinGWのgdbが正常動作しなくなりました。
MinGWでコンパイルしたプログラムをgdb上で実行(rコマンド)させると、
エラーが出力されて動作しません。
Cygwin環境がわるさをしているようです。
Cygwinをアンインストールして、ディスク上から完全に消去しても同じでした。
どのようにしたら解決できるでしょうか。
786デフォルトの名無しさんsage2007/01/01(月) 21:51:01
>>785
cygwinのgdbが残ってたりしない?
gdbをフルパスで指定して実行してみるとか

>エラーが出力されて動作しません。
エラーメッセージをなぜ貼らないの?
787デフォルトの名無しさんsage2007/01/04(木) 00:48:41
cygwin使ってるんですが、Linuxから移植されている関数・いない関数の調べ方をご存知の方おられませんか?
POSIX準拠の関数について特によく知りたいです。
788デフォルトの名無しさんsage2007/01/04(木) 13:47:13
objdump -x cygwin1.dll
789デフォルトの名無しさんsage2007/01/04(木) 20:33:47
$ cd /bin
$ objdump -x cygwin1.dll | grep pthead_cond

を実行する事で
[1197] pthread_cond_broadcast
[1198] pthread_cond_destroy
[1199] pthread_cond_init
[1200] pthread_cond_signal
[1201] pthread_cond_timedwait
[1202] pthread_cond_wait
[1203] pthread_condattr_destroy
[1204] pthread_condattr_getpshared
[1205] pthread_condattr_init
[1206] pthread_condattr_setpshared
[3228](sec 1)(fl 0x00)(ty 20)(scl 2) (nx 0) 0x000757b0 _pthread_cond_init
[4350](sec 4)(fl 0x00)(ty 0)(scl 3) (nx 1) 0x00031d68 .rdata$_ZTV16pthread_
condattr
[4352](sec 4)(fl 0x00)(ty 0)(scl 3) (nx 1) 0x00030a80 .rdata$_ZTV12pthread_
cond
[4406](sec 1)(fl 0x00)(ty 20)(scl 2) (nx 0) 0x000ac960 __ZN16pthread_condatt
rC2Ev
・・・・・以下たくさん出てくる。

という出力結果を得て、自分が知りたい関数が実装されている事は分かったんですが、
知りたい情報は[1197]-[1206]までであって、たくさんずらずらでてくる[3228][4350]の
ような情報は必要ありません。

[1197]-[1206]だけの情報が欲しい場合は、どんな風にしたらよいのでしょうか?
790デフォルトの名無しさんsage2007/01/04(木) 20:38:05
grepできるのならわかるだろ。
791デフォルトの名無しさんsage2007/01/04(木) 20:50:06
>>789
ファイルにリダイレクト
792デフォルトの名無しさんsage2007/01/05(金) 00:19:19
>>789
出力を更にgrepしてもいいし、もっと単純にobjdump -pにすればよい。
793デフォルトの名無しさんsage2007/01/05(金) 05:04:44
>>789
grep "] pthread_cond"
はどうか。
794デフォルトの名無しさんsage2007/01/05(金) 11:15:04
>>793
>792
795デフォルトの名無しさんsage2007/01/08(月) 02:05:47
#define UNICODE
#define _UNICODE
#include <windows.h>
#include <tchar.h>
int WINAPI _tWinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)
{
MessageBox(NULL, TEXT("aaa"), TEXT("aaa"), MB_OK);
return 0;
}

このコードをgcc(MnGW版)でコンパイルして、
undefined reference to `WinMain@16'
ってエラーが出る原因ご存知の方いらっしゃいませんか?
796デフォルトの名無しさんsage2007/01/08(月) 03:12:04
>>795
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine,int iCmdShow)
じゃなくて?
797デフォルトの名無しさんsage2007/01/08(月) 03:44:23
>>796
ありがとうございます。できました。
しかしLPTSTRの勘違いはわかったんですが、_tWinMainの存在理由がわからない…
798デフォルトの名無しさんsage2007/01/08(月) 06:33:08
VC++だとちゃんとwWinMainにリンクするから限りなく不具合に近いような
799デフォルトの名無しさんsage2007/01/08(月) 06:44:43
VC++のlibcはmain/wmain/WinMain/wWinMainと合計四種類の
スタートアップルーチンを用意している(実際にはDLL用のもあるが)

cygwin/mingwのgccの場合は、多分main/WinMainの二種類しか
用意してないんだろ
ソースあるんだから調べてみれば?
多分crt0.cとかその辺を見れば分かる
800797sage2007/01/08(月) 13:53:39
ありがとう。
crt0.cは見つからないけどいろいろ読んでみます。
801デフォルトの名無しさんsage2007/01/08(月) 14:07:05
>>800
見るべきはgccのソースじゃなくてcygwin自体のソースだぞ。
cygwin1.dllがlibcをも兼ねてるからな。
802デフォルトの名無しさんsage2007/01/08(月) 15:15:11
いや調べても無駄
803デフォルトの名無しさんsage2007/01/08(月) 16:02:45
>>801
いえMinGW版なんで…
とりあえずmingw-runtime-3.9のmain.cを修正してみます。
初心者の自分でもどうにかできそうに見えるけど
現時点で対応されてないのは何か罠があるんだろうか…
804デフォルトの名無しさんsage2007/01/08(月) 17:20:20
Cygwinでもtchar.hは-mno-cygwinしないと使えんし
805デフォルトの名無しさんsage2007/01/09(火) 00:40:16
>>795
mingwはwchar版のスタートアップルーチンを提供していないよ。
mainかWinMainを使うしかない。
806デフォルトの名無しさんsage2007/01/09(火) 20:11:05
ls --show-control-chars --color=auto
cygwin上で↑のコマンドをたたけば、色分けされた出力結果がきちんとでるんですが、
aliasの設定をする事で楽をしようとすると、うまく設定できません。

vim ~/.bashrc
alias ls='--show-control-chars --color=auto'

と設定してもうまくいきません。
何か解決方法をご存知の方はおられませんか?
807デフォルトの名無しさんsage2007/01/09(火) 20:36:13
>>806
man alias


ヒント: alias ls='ls'
808デフォルトの名無しさんsage2007/01/09(火) 20:50:38
>>807
!!!
ls='ls --show-control-chars --color=auto'

 び っ く り す る ほ ど ユ ー ト ピ ア !

 び っ く り す る ほ ど ユ ー ト ピ ア !

 び っ く り す る ほ ど ユ ー ト ピ ア !

と、事故レスになりますが、
人によっては、

~/.bashrc ではなくて
~/.bash_profile を変更しないとaliasの変更がうまく反映されないようです。

お世話になりました。
809デフォルトの名無しさんsage2007/01/09(火) 20:54:24
君が.bashrcと.bash_profileの違いを理解していないだけ
810デフォルトの名無しさん2007/01/10(水) 00:24:48
超シロウトですいません

Cygwinでcを使って出した計算結果を
グラフ化したりシミュレーションするためにはどうしたらいいのですか?
GrWinが良いと聞いたのですけど
何をインストールすればよく分かりません

よろしくお願いします
811デフォルトの名無しさんsage2007/01/10(水) 03:04:59
gd
812デフォルトの名無しさんsage2007/01/10(水) 18:35:18
gnuplot
813デフォルトの名無しさんsage2007/01/15(月) 08:40:13
cygwinで、中身のファイル名に日本語を含むzipを扱うにはどうすればいい?
unzipとかzipinfoだとなんかめちゃくちゃになってしまう。
814デフォルトの名無しさんsage2007/01/23(火) 12:34:45
Winのコマンド呼ぶのはなし?俺は7-Zipが多いので7z.exeとか呼んだりしてる。
cygpathを頻繁に使うのでスクリプトじゃないときつい。
815デフォルトの名無しさんsage2007/01/24(水) 01:52:00
最近mingw developer studioでプログラミングをはじめました。
生物分野のC++クラスライブラリを使おうと思い、そのサイトにあったサンプルコードのビルドを試みました。
ttp://www.comp.sd.keio.ac.jp/~yakoh/programming/
ここを参考にして
C:\MinGWStudio\Include にインクルードファイル(.h .cpp)
C:\MinGWStudio\Lib にライブラリ(.a .la)を置き、コンパイル、ビルドを行いました。
コンパイルではエラーが出なかったのですが、ビルドで
C:\MinGWStudio\MinGW\bin\..\lib\gcc\mingw32\3.4.2\..\..\..\..\mingw32\bin\ld.exe: cannot find -libbpp-seq
collect2: ld returned 1 exit status
というエラーが出ます。cannot find といわれている"libbpp-seq"はC:\MinGWStudio\Lib に
"libbpp-seq.a""libbpp-seq.la" が置いてあります。考えられる原因はなにがありますでしょうか?
816815sage2007/01/24(水) 01:53:22
なお
「Project」->「Settings...」の「Link」タブにある Extra linking optionsは
-libbpp-seq
同じタブにあるAdditional library pathは
C:\MinGWStudio\Lib
としてあります。もしなにかアドバイスがあればよろしくお願いします。
817デフォルトの名無しさんsage2007/01/24(水) 07:56:40
ttp://www.reactsoft.com/にmingw 4.2.0が出てる件
818デフォルトの名無しさんsage2007/01/24(水) 13:47:20
ライブラリのファイル名がlibbpp-seq.aなら-lbpp-seqじゃないの?
819デフォルトの名無しさんsage2007/01/24(水) 14:06:27
だね
それでもリンク出来ないようなら-Lc:/MingWStudio/Libを追加
820デフォルトの名無しさん2007/01/24(水) 16:22:16
MinGW で作った DLL の関数を VB6 から呼び出そうとしていて問題があります。
#include <windows.h>
extern "C"{
  BOOL WINAPI DllMain(HINSTANCE hInstanceDLL, DWORD fdwReason, LPVOID lpvReserved);
  int __stdcall TestFunc();
};
〜DllMainは省略します〜
void __stdcall TestFunc() {
  MessageBox((HWND)NULL, "TestFunc()", "", MB_OK);
  return 0;
}
これを $ g++ -mno-cygwin -shared -o TestDLL.DLL DllMain.cpp として TestDLL.DLL を生成し、VB6IDE の exe のフォルダ, または VB6 で生成した Exe のフォルダに入れて試していますが
Private Declare Sub TestFunc Lib "TestDLL.DLL" ()
で呼び出したいのですが、実際には
Private Declare Sub TestFunc Lib "TestDLL.DLL" Alias "TestFunc@0" ()
としないと上手く呼び出せません。 具体的にはシンボルの末尾の "@0" の部分が邪魔なのですが、これを取り除く方法はありますでしょうか?
DLL を nm すると確かにシンボルは _TestFunc@0 になってしまっています。
_cdecl にすればシンボル名は修飾されなくなるのですが、VB6 が _cdecl の引数と戻り値積み方に対応していないので __stdcall にする必要があります。
821820sage2007/01/24(水) 16:24:02
VB側の宣言を間違えました。
Private Declare Function TestFunc Lib "TestDLL.DLL" () As Long

Private Declare Function TestFunc Lib "TestDLL.DLL" Alias "TestFunc@0" () As Long
です。

宜しくお願いします。
822デフォルトの名無しさんsage2007/01/24(水) 16:43:35
>>821
--kill-atとかじゃないっけ。

昔のMakefileみたら
$(CC) -mno-cygwin -mwindows -shared -Wl,--kill-at,--dll
と書いてあったが詳細はもう忘れた。
823820sage2007/01/24(水) 16:54:51
>>822
ありがとうございます。


$ g++ -mno-cygwin -shared -o TestDLL.DLL DllMain.cpp -Wl,--add-stdcall-alias,--kill-at


でいけました!
--add-stdcall-alias と
--kill-at のどちらが有効なのかはよくわかりませんが、これで上手く stdcall のまま @以降のサフィックス無しでエクスポートできたようです。

ありがとうございました!!
824815sage2007/01/24(水) 23:04:55
>>818,819 さん
アドバイスありがとうございます。ライブラリの指定の書き方を勘違いしていたようです。
おはずかしい。。。。ただExtra linking optionsを-lbpp-seqに直してビルドすると
undefined reference to 関数名
というメッセージが大量に出てきました。-Lc:\MingWStudio\Libを追加しても同様です。

ライブラリの扱いもよく分からないままIDEを使い始めたのですが、基礎知識が足りなすぎると
痛感しました。ライブラリも製作者のサイトでwindowsの場合ファイルをコピーするだけでよい
とあったので、(ttp://kimura.univ-montp2.fr/BioPP/articles/installation/
そもそも正しくインストールが出来ていなかったのかもしれません。
せっかくアドバイスをもらいましたが、Msysなどをつかった基本的な操作法から出直したほうがよさそうですね。
825GIMP調査隊2007/02/07(水) 17:16:37
初めまして。
今GIMPのソースを取得してそれをCygwin上(WindowsXP上?)でmakeしようとしています。
ソースの取得は
ttp://fjt.webmasters.gr.jp/linux/yesterday/2000.07.03.html
をみて簡単に出来たんですが、gimpディレクトリに移動して./autogen.shでいけるみたいなんですが

configure: error: Test for GTK+ failed. See the file 'INSTALL' for help.

Configure failed or did not finish!

と出てしまいます。
GTK+などもいれて./configureするのですがmakefileが出来ず失敗みたいでした。
エラーメッセージのようなものは出てないと思うのですがmakefileが出来てないので失敗だと思います。

GTK+の前準備のlibxml2やGLibをmake installしないといけないと
ttp://www.bnote.net/linux/gtk.shtml
書いてあったのでそれも./configureしてmakeするのですがmakeでエラーになってしまいます。

何か根本的に間違っているのでしょうか?またこのスレでの質問が適当なのでしょうか?
いきなりで申し訳ありませんがよろしくお願いします。
826デフォルトの名無しさんsage2007/02/07(水) 17:54:01
827デフォルトの名無しさんsage2007/02/07(水) 18:01:42
>>825
まずはそのエラーメッセージのとおりファイルINSTALLを見たか?
828GIMP調査隊2007/02/07(水) 19:18:25
返答ありがとうございます。
INSTALLにGTK(1.2.8以降)をインストールする必要があると書いてあったので
それを試してみたんですが、./configureで失敗していました。
829デフォルトの名無しさんsage2007/02/07(水) 19:34:11
とりあえず言っておくとcygwinでgimpビルドするのは
X用であったとしても相当に苦労すると思うよ?
830GIMP調査隊2007/02/07(水) 21:00:07
cygwin以外のビルド方法がわからないのですが何があるのでしょうか?
mingwとかですか?あてずっぽうで言ってすいません。
831デフォルトの名無しさんsage2007/02/07(水) 21:06:11
Windowsならバイナリあるじゃない
832GIMP調査隊2007/02/07(水) 21:24:21
確かにバイナリはあります。
ソースを調べたくて始めたんですが、ビルドもできないと検証がしづらくてソースからビルドしようと考えたんですが。
833デフォルトの名無しさんsage2007/02/07(水) 22:08:39
それだったらLinux等でやった方が無難な希ガス。
834GIMP調査隊2007/02/07(水) 23:01:59
Linux環境がないもので、それでcygwinを思いついたんですけどそれもだめ。
今MinGWで何とかならないかやってるのですがそっちも無理っぽいです。
何とかソースの解析(画像データの扱い方)をしたいのですが。
835デフォルトの名無しさんsage2007/02/07(水) 23:23:25
Windows で GIMP のコンパイルが通る環境を整えるより
Fedora あたりをデフォルトの設定でインスコする方がよっぽど楽なのでは。
遊休マシンも空きディスクもないなら KNOPPIX でがんがってみるとか。
836デフォルトの名無しさんsage2007/02/08(木) 01:24:36
つVMwareとか
837GIMP調査隊2007/02/08(木) 10:36:49
KNOPPIXでやってみます。ありがとうございました。
KNOPPIXになるとこのスレとは無関係になってしまうので今後はLinuxのKNOPPIXスレを使わせていただこうと思います。
838デフォルトの名無しさんsage2007/02/08(木) 19:12:52
gtkスレ池よ。久野じゃなくて。
839GIMP調査隊2007/02/10(土) 21:37:15
>>838さん
ありがとうございます。早速行ってみます。
840デフォルトの名無しさん2007/02/16(金) 18:25:44
mingw+gcc3.4.2の環境なんですがflac-1.1.4のmake中に
netinet/in.h: No such file or directory
と表示されコンパイルできません
in.hをmingwで使えるようにするにはどうしたらいいんでしょうか?
cygwinだとin.hがあるのでコンパイルできてます
841デフォルトの名無しさんsage2007/02/17(土) 01:40:10
エミュレーション版はUNIX互換ソケットがあるけど、
マイグレーション版(移植版)はWinsock32に移植すれということ。
WIN32SDKのヘッダから<winsokc.h>をインクルードして使う。

大きな違いはread/writeのハンドルでソケットを渡せないということと
初期化関数があるってこと。
842デフォルトの名無しさんsage2007/02/17(土) 12:31:54
>>841
詳細ありがとうございます
プログラミングできないので自分にはコンパイル無理なようです
843デフォルトの名無しさんsage2007/02/17(土) 12:36:18
そこらへんはようするにWindowsとPOSIXの違い。
Cygwinは(WindowsをPOSIXに近づける方向で)その溝を埋める存在。
844デフォルトの名無しさんsage2007/02/17(土) 12:43:08
>>842
cygwinでコンパイルしちゃいけない理由でも?
#cygwin1.dllが必須になっちゃうけど。
845デフォルトの名無しさんsage2007/02/17(土) 13:03:20
>>844
公式のバイナリよりも高速にエンコードできるバイナリが欲しかったのです
cygwinだと遅くなってしまいました
846デフォルトの名無しさんsage2007/02/17(土) 13:33:33
ちらっとソース見たところ、ia32 & MSVC版だとアセンブラ(nasm)使って
るから、たとえソース修正してmingwnでコンパイルしても速度的には
敵わないと思うよ。
ppc用にはgasのソースもついてるようだけど。
847デフォルトの名無しさんsage2007/02/17(土) 13:52:27
flac-1.1.3だとmingwnでもコンパイルできて、その結果なんですが

公式(?) - 88s
rawares(MSVC6) - 86s
自前(GCC) - 81s

ソースは1h13mの音源です
848デフォルトの名無しさんsage2007/02/17(土) 18:51:44
wxWidgetsをcygwin1.dll無しで作るのに-mno-cygwin付けてコンパイルするんだけど
必要なリンクがわからない。てかもう全部リンクさせたいんだけどどこにあるのか教えてくれー
849デフォルトの名無しさんsage2007/02/17(土) 20:19:52
>>848
「必要なリンク」って何語?

# 何を求めてるのかさっぱり解らないのだがMinGW では
# configure && make で通るから -mno-cygwin でコンパイルできると思うのだが…
850デフォルトの名無しさんsage2007/02/17(土) 20:28:50
>>847
#if defined(_MSC_VER) && _MSC_VER <= 1400
#include <winsock.h> /* for ntohl() */

#elif defined FLAC__SYS_DARWIN

#include <machine/endian.h> /* for ntohl() */
#else
#include <netinet/in.h> /* for ntohl() */
#endif


となってて、VCの場合は winsock.hをインクルードするようになっているから

//#if defined(_MSC_VER) && _MSC_VER <= 1400

#include <winsock.h> /* for ntohl() *
//#elif defined FLAC__SYS_DARWIN

//#include <machine/endian.h> /* for ntohl() */
//#else
#include <netinet/in.h> /* for ntohl() */
//#endif


とすればビルドできるのでは?
_MINGW 使って #if defindの所で判断するようにしてもいいし。
851850sage2007/02/17(土) 20:30:33
改行コードが乱れて見にくくてスマソ
852デフォルトの名無しさんsage2007/02/17(土) 21:01:10
GPLに関して。
次のソースがあります。
include <stdio.h>
int main(void) { printf("aaa\n"); return 0;}
これを次の2つの方法で、コンパイル・リンクするものとします。
1.gcc -c -o hoge.o hoge.c
2.gcc -o hoge.exe hogec
この場合、2で作成したhoge.exeを配布する場合はGPLにしなくてはならず、
1で作成したhoge.oを配布する場合はGPLにする必要はないと考えています。
この認識は正しいですか?
853デフォルトの名無しさんsage2007/02/17(土) 21:01:56
>>852
GPL にする必要性がひとつもでてこないのだが。
854デフォルトの名無しさんsage2007/02/17(土) 21:02:08
オブジェクトファイルを配布する意味が
855デフォルトの名無しさんsage2007/02/17(土) 22:40:37
>>852
GPLだったらどっちを配ろうがGPL汚染。

LGPLならともかく、GPLなものを使ってソース配布を免れることは
例外条項などがない限りはないと思ってよい。
856デフォルトの名無しさんsage2007/02/17(土) 22:58:13
>>853
エスパー解説するとcygwin の gcc で cygwin1.dll を
リンクする場合の話をしたいんじゃないかね? そうだと仮定して
>>852
hoge.exe が CPL な cygwin1.dll をリンクしているなら
hoge.oを配布しようがしまいが hoge.exe は GPL に
なって、求められれば hoge.c を公開する必要があるんじゃね?
857デフォルトの名無しさんsage2007/02/18(日) 00:17:32
>>850
わざわざすいません、でもエラーが出てしまいました
自分の知識では無理です諦めます

(略)
../../src/libFLAC/.libs/libFLAC.a(bitreader.o):bitreader.c:(.text+0x1bd): more undefined references to `ntohl@4' follow
collect2: ld returned 1 exit status
make[3]: *** [flac.exe] Error 1
(略)
858デフォルトの名無しさんsage2007/02/18(日) 01:45:28
>>852 これが分かり易いんじゃねーか
ttp://www.namazu.org/ml/namazu-win32-users-ja/msg02119.html
>>853 cygwin1.dllがLGPLじゃなくてGPLなのがcygwinの非常識
859デフォルトの名無しさんsage2007/02/18(日) 23:26:29
>>857
知識が足りないのは明らかだな.
リンクが足りないのがエラーメッセージから明らかだし、それすら分からないのでは...
860デフォルトの名無しさんsage2007/02/19(月) 00:08:04
WIN32SDKに含まれるWINSOCK32の実体であるところのWS2_32.LIBをリンクするのだが。
環境変数LIBとかMakefileのLIBの記述をいじるのではなかろうか。

例:
"C:\Program Files\Microsoft Platform SDK for Windows XP SP2\Lib"
861852sage2007/02/19(月) 21:12:24
事情を説明しますと、PalmOS用のgccコンパイラを落としたところ、license.txtにGPLとありました。
そこでGPLに関して自分なりに調べてみたんですが、下記サイトの「9よくある誤解」の解釈がよく分か
らなかったのです。

http://ja.wikipedia.org/wiki/GNU_General_Public_License
GPLでなければならないのは、GPLのソースコードを含んでいたり、GPLのライブラリーをリンクしてい
たりするときだけだ。独占的なソフトウェアを GCC でコンパイルして頒布することは、許可されている。

>>852 はhoge.exeにはprintfがリンクされていますが、hoge.oにはリンクされていないので、hoge.oだけ
を頒布する場合は特にGPLにする必要がないのかなと思ったのです。
862デフォルトの名無しさんsage2007/02/20(火) 00:22:33
どっちみちPalmOSだと標準関数なんて殆ど使えないからAPIを使うか自前で用意するかだろ。
863デフォルトの名無しさんsage2007/02/20(火) 00:24:06
>>852
printfの場合実装がGPLとは限らないからリンクされるまでは
GPLに感染するかどうか解らないんじゃね?って話でしょうか?
printfの実装がGPLでかつそのヘッダファイルがGPLじゃない環境があればそうなるかもしれません。
コンパイルするときにincludeされたヘッダファイルがGPLだったなら hoge.o は
「GPLのソースコードを含んでいたり」の方に該当してGPLになるかもしれませんね。
864デフォルトの名無しさんsage2007/02/20(火) 00:31:16
C言語なら、関数を呼ぶだけならヘッダをインクルードしなくても呼べるからなぁ・・・
865デフォルトの名無しさんsage2007/02/20(火) 03:19:42
ヘッダファイルをincludeしても,それはコンパイル時に使われるだけで
オブジェクトに残るわけじゃないからGPLにならない
866デフォルトの名無しさんsage2007/02/20(火) 06:09:43
LGPLとGPLを混同してるな・・・。
867デフォルトの名無しさんsage2007/02/20(火) 10:55:46
>>865
それは必ずしも正確ではない。
GPLなヘッダファイルで定義されたマクロを使ったらオブジェクトにGPLなコードが入る。
868デフォルトの名無しさんsage2007/02/20(火) 11:07:12
正確ではないどころか大間違いだろ。
869デフォルトの名無しさんsage2007/02/20(火) 14:33:12
ヘッダがGPLならcppを通った時点で「GPLなソースがまざったソース」になるだろ
それをコンパイルしたんだから.oはGPL感染するべ?

まぁ関数呼ぶだけならヘッダいらんってのは>>864の言う通りだが…
870デフォルトの名無しさんsage2007/02/20(火) 19:48:10
stdio.hをインクルードする代わりに
int printf (const char*, ...);
と自分で書いとくのはOKなのかいな?
871デフォルトの名無しさんsage2007/02/20(火) 22:03:32
標準ヘッダでダメならほぼ100%アウトだから
うだうだラインセンスに無駄な文書く必要ないじゃん。
裁判所じゃなくてコミニティが判断するんだから
合意が取れる範囲で利用すれば良いんだよ。

ぶっちゃけ違反しても賛同者が多ければ逆にライセンスの方が修正されるわけで。
872デフォルトの名無しさんsage2007/02/20(火) 22:32:16
>>871
それはある意味において寧ろ裁判的な気がする。
873デフォルトの名無しさんsage2007/02/20(火) 22:45:25
>>861
gccはコンパイラとライブラリのライセンスが別。
gccはGPLだけど、出力物にはGPLが感染しない例外条項がある。
glibcはLGPL。

prc-tools独自のファイルのライセンスはpublic domain。
/usr/doc/prc-tools-2.2/READMEに
> The run-time support code in the crt subdirectory is in the public domain,
> and the resulting object code may be freely linked into your programs.
等々書いてある。

なので、アプリ側はどんなライセンスでも問題ないよ。
……コンパイラやライブラリに食い込み、かつGPLと非互換のライセンスでない限りはね。
874デフォルトの名無しさんsage2007/02/21(水) 00:09:06
>>873
glibcって具体的にはどんなヤツのこと?
ひょっとしてprintf(),atoi(),...等々のCの標準ライブラリを使うとglibcを使ったことになっちゃう?
875デフォルトの名無しさんsage2007/02/21(水) 00:13:20
ググレ
876デフォルトの名無しさんsage2007/02/21(水) 01:01:11
ググってみた。

http://d.hatena.ne.jp/keyword/glibc

やっぱり printf() すら含んでいるってことでおk?
877デフォルトの名無しさんsage2007/02/21(水) 01:03:14
もうちょっとググってみた。

http://www.linux.or.jp/JF/JFdocs/LFS-BOOK/appendixa/glibc.html

こっちにははっきり書いてあるね。
これじゃ、結局>>873の例外条項なんてまったく意味ねぇじゃん。
878デフォルトの名無しさんsage2007/02/21(水) 01:04:43
いや、gccでもMingWのようにglibcではなくてMSVCRTを使うようなのがあり、
そういった場合だけ例外条項が適用される。
879デフォルトの名無しさんsage2007/02/21(水) 01:12:42
>>878
そんなんレアケースやん。特別な理由でもない限り、Windows用のプログラムを
作るつもりでgcc系のコンパイラを選ぶこと自体が普通はナンセンスな事なんだから。
Linux上で動いてるコードを簡単に移植する為に使うってことならLinux版を作った
時点でGPL汚染されてるわけだし。
880デフォルトの名無しさんsage2007/02/21(水) 01:19:25
>>877
だから、prc-toolsみたいにAPIを使うしかない環境もあるんだってばさ。
881デフォルトの名無しさんsage2007/02/21(水) 01:50:35
>>879
バイナリつくらない限りは関係ないよ。
アプリのソースのライセンスは、コンパイラやライブラリとは直接関係ないから。

例えば、標準Cライブラリを使ったソースだからといって
必ずしもglibcとリンクするわけじゃなくて、BSD libcかもしれない。
コンパイラだってgccじゃなくてccかもしれない。

unix系だとそのへんの詳細はmake.confとかlinker scriptに分離してあるのが普通だし、
automakeとかでアプリレベルで切り分けることもあるので、
アプリのライセンスが何であれ、それぞれの環境でコンパイルするのに
ホストのライセンスが影響することは(普通は)ない。
(もちろんバイナリの頒布は別)
882デフォルトの名無しさんsage2007/02/21(水) 08:29:27
>>879
(1) Hello World は Linux 上の GCC でコンパイルされうるが感染するのか?
(2) glibc は普通 so だから LGPL にそもそも感染しない.
883デフォルトの名無しさんsage2007/02/21(水) 09:01:56
>>882
(1)は例外条項でも無い限り感染してることになるだろ。
(2)も動的か静的かの違いだけでリンクしていることには変わりがない。
884デフォルトの名無しさんsage2007/02/21(水) 09:30:17
アホ現る
885デフォルトの名無しさんsage2007/02/21(水) 09:32:38
GPL界隈ではよくあること
886デフォルトの名無しさんsage2007/02/21(水) 10:55:14
放置すれよ
887デフォルトの名無しさんsage2007/02/21(水) 21:23:37
>>893
(1) Linux でコンパイルされうるからって、コンパイル前のソースに影響出るわけないだろ. VCでコンパイルする人だって、BCCでコンパイルする人だっているっちゅーに.
(2) LGPLのライセンスを知らんアホかよ

そもそも glibc の gcc ってシェアは Linux のせいで大きいだろうけど、数的には少なくない?
newlib のほうが数的には多そうな.
888デフォルトの名無しさんsage2007/02/21(水) 21:36:21
そらまあ組み込み系で採用多いから出荷数はすごいだろうけど
そもそも実装数かぞえる意味があるかと言われれば微妙な気もする
889840sage2007/02/22(木) 01:43:04
1) bitreader.c/bitwriter.cを下記のようにコメントアウト
//#if defined(_MSC_VER) && _MSC_VER <= 1400
#include <winsock.h> /* for ntohl() *
//#elif defined FLAC__SYS_DARWIN
//#include <machine/endian.h> /* for ntohl() */
//#else
//#include <netinet/in.h> /* for ntohl() */
//#endif

2) LIBS="-lwsock32" ./configure
これでflac-1.1.4コンパイルできました、アドバイスくれた方ありがとうございました
890デフォルトの名無しさんsage2007/02/22(木) 01:53:08
ピリオドで止めるの、今見るとキメーな、オイ
891GIMP調査隊2007/02/22(木) 21:51:56
お久しぶりです。MinGWについて疑問があってまた質問させていただきます。
libiconvというライブラリを./configure、make、make installしてlibの中にlibiconv.laなどが生成できたのですが、
リンクしようとするとWarning: This system can not link to static lib archive /mingw/lib/libiconv.la.と出て
リンクできません。
調べていたらldconfigでシステムにライブラリを認識させる必要があると書いてあったのですが、
ldconfigコマンドがありません。またldconfigはスーパーユーザになる必要があるらしいのですがsuもありません。
ldconfigはどのようにしたら使えるようになるのでしょうか。またldconfigで認識させる必要があるのでしょうか。
よろしくお願いします。
892デフォルトの名無しさんsage2007/02/22(木) 22:22:39
ldconfigはrootにならないと実行できない
893デフォルトの名無しさんsage2007/02/22(木) 22:39:22
>>891

./configureするときにスタティックライブラリを作成するように指定した?
たしか何も指定しないとダイナミックライブラリができたと思うんだが。

./configure --help でヘルプを表示して適切なパラメータ付けたほうがいいよ。

ダイナミックライブラリを使用するのなら、libiconvを使用する側の
アプリのリンクオプションを変更しないといけないかもしれん。
894デフォルトの名無しさん2007/02/22(木) 22:42:44
>>891
./configure --enable-static=yes とか?
895GIMP調査隊2007/02/22(木) 23:54:02
早速./configure --enable-static=yesでmake、make installしてみたのですがlibiconv.laなどがmingw\libに作られないみたいです。
どうやらmsys\1.0\local\libの中にlibiconv.dll.a、libiconv.a、libiconv.laが出来てました。
それでリンクさせようとしたんですが結果は同じでした。
また、mingw\libの中にもともと入っていたlibiconv-2.def、libiconv.a、libiconv.dll.a、libiconv.la、libiconv.lai、libiconv.lib、
libiconv-bcc.def、libiconv-bcc.lib、libiconv-ltversionを別フォルダに移動させてそこにさっきの3つのものを入れてリンクさせようと
しても同じでした。
ldconfigが必要なのでしょうか。rootのなり方(suはない)もわかりません。
よろしくお願いします。
896GIMP調査隊2007/02/22(木) 23:58:09
すいません。強引にやったらリンクエラーが出なくなりました。
libiconv-2.def、libiconv.a、libiconv.dll.a、libiconv.la、libiconv.lai、libiconv.lib、
libiconv-bcc.def、libiconv-bcc.lib、libiconv-ltversionにさっきのlocalにできた
libiconv.dll.a、libiconv.a、libiconv.laを上書きしてリンクしてみたらリンクできました。
でもこれってありなんでしょうか。すごく怪しい。実行時エラーとかおきそうなんですが。
897GIMP調査隊2007/02/23(金) 00:10:50
Warning: This system can not link to static lib archive /mingw/lib/libiconv.la.
はでなくなったんですが、途中libtool: link: warning: `/mingw/lib/libiconv.la' seems to be movedと出ます。
やっぱり無理だったような気がします。
898デフォルトの名無しさんsage2007/02/23(金) 00:33:47
/mingw にインストールしたいならなぜ
./configure --prefix=/mingw
としないのさ…?

そして/usr/local/lib にインストールしたのならなぜ
gcc -I/usr/local/include -L/usr/local/lib -liconv
ってパスを指定しないのか?

あとmingwにldconfigとかないから。
899GIMP調査隊2007/02/23(金) 16:09:03
--prefix=/mingwにしたらmingw\libのなかにlaファイルができました。
リンクの警告も出なくなりました。

そしてついにGimp-2.3をビルドすることができました。本当にありがとうございました。
900デフォルトの名無しさんsage2007/03/02(金) 15:35:49
質問です。
fftwという高速フーリエ変換ライブラリをmsys上にインストールしたいわけですが、

・Makefile 中の SEHLL = /bin/sh というマクロが外部コマンドに引きわたされるときに勝手に c:/msys/1.0/bin/sh.exe というふうに展開される
・makeから呼び出されるdepcompというスクリプトが exec で c:/msys/1.0/bin/sh.exe を実行しようとするのだが、
execが勝手に引数を exec (カレントディレクトリ)/c:/msys/1.0/bin/sh.exe と解釈して、そのようなコマンドはないと言われて、そこでmakeが停止する。

システムは
$ uname -r
1.0.10(0.46/3/2)
です。

とりあえず、
make が マクロを勝手にwindowsのフルパスに変換するのを抑制する
もしくは
exec がwindowsのフルパスで与えられたコマンドを受け付ける
ということができれば解決できそうなのですが、ご存知ありませんか?
901900sage2007/03/02(金) 15:39:46
上記ではわかりにくいため、簡単な誤作動の例を記します。

[Makefile]

SHELL = /bin/sh

all:
exec $(SHELL)

であるときに、これをmakeすると、
$ make
exec C:/msys/1.0/bin/sh.exe
/usr/bin/sh: /home/tmp/C:/msys/1.0/bin/sh.exe: No such file or directory
/usr/bin/sh: exec: /home/tmp/C:/msys/1.0/bin/sh.exe: cannot execute: No such file or directory

となります。
902デフォルトの名無しさんsage2007/03/02(金) 16:44:27
手元の環境だと、例では問題なくshが起動したよ
FFTWも3.1.2で試したけどmakeできた

mingw32-makeかmingw-runtimeあたりを更新してみたら?
ttp://sourceforge.net/project/showfiles.php?group_id=2435&package_id=82721
903デフォルトの名無しさんsage2007/03/02(金) 16:44:55
>>900
当方の環境で再現せず。
--
$ uname -r
1.5.21(0.156/4/2)
$ make -f test.mk
exec /bin/sh
sh-3.1$ exit
exit
--
ということで、更新してみては如何でしょう。
9049002007/03/02(金) 17:01:43
>>902
mingw32-makeなんですけどね

GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

>>903
新しいパッケージを当ってみます。
(candidateばかりなのでどうにも更新する元気がなかったんですわ。)

ありがとうございました。
905903sage2007/03/02(金) 17:14:41
む、makeのリビジョンは同じだった。
--
$ make --version
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

This program built for i686-pc-cygwin
--
cygwinと何か違うのかな?
906900sage2007/03/02(金) 17:34:42
探しても、自分の環境がcurrentだった。
で、同じバージョンのmsysを上書きしたら、なぜかマトモに動くように…
msys.batを若干書き変えていたのが原因?
(つっても、rxvtのフォントを変更しただけだとおもったが…)

とりあえず、お騒がせしました。
907デフォルトの名無しさんsage2007/03/04(日) 12:41:41
msys上なのに mingw32-make を使ってるんだ?
908900sage2007/03/05(月) 11:32:42
>>907
エライ!
mingw32-makeでmsysのmakeを置き換えてました。そういえば。
で、msysを上書きしたら、makeが元のmakeに戻って正常動作するようになったと。
909デフォルトの名無しさんsage2007/03/05(月) 14:22:44
>>908
まぁ mingw32-make が何のためにあるのか知らん人は多そうだな‥
910デフォルトの名無しさんsage2007/03/05(月) 21:12:25
mingwのlibcって、UTF-8のlocaleある?
ストリーム使って、Unicode使うには自分で書くしかない?
911デフォルトの名無しさんsage2007/03/05(月) 22:19:17
mingw の libc って何?
# とか聞いてみる
912デフォルトの名無しさんsage2007/03/06(火) 07:44:36
察してやれよ意地悪せんと。
913デフォルトの名無しさんsage2007/03/06(火) 12:08:14
mingwはM$のmsvcrt(71)とリンクしてま。
914デフォルトの名無しさんsage2007/03/06(火) 22:15:19
71とはリンクしないんじゃないの?
915デフォルトの名無しさんsage2007/03/07(水) 09:31:22
無印の他に70、71、80から選択可能。
916デフォルトの名無しさんsage2007/03/07(水) 12:15:47
マジデ。ずっと無印にしかリンクしないのかと思ってた。
やりかた教えろ
917デフォルトの名無しさんsage2007/03/23(金) 17:45:17
無印とは何か、初心者の俺に教えてくれるネ申きぼん。
918デフォルトの名無しさんsage2007/03/23(金) 18:01:23
神じゃないがほれ。

60K Aug 5 2004 msvcrt40.dll
248K Aug 5 2004 msvcrt20.dll
335K Aug 5 2004 msvcrt.dll <<<<<<これ!!!!
340K Mar 10 2005 msvcr71.dll
532K Apr 1 2005 msvcr71d.dll
919デフォルトの名無しさんsage2007/03/24(土) 03:26:13
>>918
あざーーーーーす
920デフォルトの名無しさんsage2007/03/24(土) 04:53:32
http://article.gmane.org/gmane.comp.python.general/378028/
921デフォルトの名無しさん2007/03/26(月) 00:16:26
Debian sargeのmingw32パッケージでクロスコンパイルを試してるんですけど
どうもLIBRARY_PATHが効いていないようなんです.-Lを指定するとうまくいきます.
具体的には/usr/local/cross-tools/lib/libloki.aが存在するとして
$ export | grep LIBRARY_PATH
declare -x LIBRARY_PATH="/usr/local/cross-tools/lib"
$ i586-mingw32msvc-gcc-3.4.2 test.c -lloki
/usr/lib/gcc/i586-mingw32msvc/3.4.2/../../../../i586-mingw32msvc/bin/ld: cannot find -lloki
collect2: ld returned 1 exit status
$ i586-mingw32msvc-gcc-3.4.2 test.c -L/usr/local/cross-tools/lib -lloki
(<-成功)
といった感じです.(lokiがc++なのは承知してます)
原因がどこにあるのか測り兼ねているのですが,
「gccはクロスコンパイラとしてビルドされたときにLIBRARY_PATHを無視する」
なんてことはあり得ますでしょうか?
922デフォルトの名無しさんsage2007/03/26(月) 01:31:59
mingwの最新版は5.1.3で良いんでしょうか?
923デフォルトの名無しさん2007/03/27(火) 13:33:16
GCCの最適化がヘボいのはどうしたらいいの。
924デフォルトの名無しさんsage2007/03/27(火) 13:47:07
おまえがへぼいコード書くからだろ
925デフォルトの名無しさんsage2007/03/27(火) 14:05:22
逆に考えるんだ
「VC++の最適化率が異常に高い」と考えるんだ
926デフォルトの名無しさんsage2007/03/27(火) 14:34:02
ffmpeg のように VC++ ではコンパイルできないコードにすれば
比較できないのでOK。
927デフォルトの名無しさんsage2007/03/27(火) 17:19:45
gccは汎用性が売りでしょ
そんなに最適化したかったらiccでも使ってろと
928デフォルトの名無しさんsage2007/03/27(火) 18:16:27
iccは炉派じゃなかもん
929デフォルトの名無しさんsage2007/03/27(火) 19:19:08
>>921
i586-mingw32msvc-gcc-3.4.2 -print-search-dirs
930921sage2007/03/27(火) 20:32:23
>>929
ありがとうございます
確かめてみましたがLIBRARY_PATHはgcc-3.3だと効いてますが
i586-mingw32msvc-gcc-3.4.2では効かないようです
う〜ん,なんででしょうかねぇ?
931デフォルトの名無しさんsage2007/03/27(火) 22:07:06
>>921
http://gcc.gnu.org/onlinedocs/gccint/Driver.html
から引用します。
> The directories specified by the environment variable LIBRARY_PATH
>(or port-specific name; native only, cross compilers do not use this).
932デフォルトの名無しさんsage2007/03/27(火) 22:28:00
>>923
言いだしっぺの法則
お前が頑張ってチューニングするんだ
933デフォルトの名無しさんsage2007/03/27(火) 23:28:04
5.1.3のインストーラがノートン先生に跳ねられる。
934デフォルトの名無しさんsage2007/03/27(火) 23:54:50
>>930
-v?でリンカにどんなパラメータがわたってるか調べてみては?
もっと知りたいなら、ソース見るしかないのでは?
っていうか、gccじゃなくてbinutilsのldの問題のような気も。
935デフォルトの名無しさん2007/03/28(水) 13:16:51
わかった------------------------------------------------------------------------------
-------------------------------------------------------------------------
-------------------------------------------------------------------------

クロスコンパイルするからいけんのじゃ。
クロスコンパイルとは、苦労すコンパイルじゃったんじゃ!!!!
苦労するんじゃ!!!!!!!!!!!!!!!!!!!!!!!
936デフォルトの名無しさん2007/03/28(水) 13:19:58
若い時の苦労は買ってでもしろというが
別に買ってまでしたくないと思う。


そういや中学校での卒業文集にこう書いたものよのう・・・・・・・・
937デフォルトの名無しさん2007/03/29(木) 04:43:14
܀ ܁ ܂ ܃ ܄ ܅ ܆ ܇ ܈ ܉ ܊ ܋ ܌ ܍ ܎ ܏
ܐ ܑ ܒ ܓ ܔ ܕ ܖ ܗ ܘ ܙ ܚ ܛ ܜ ܝ ܞ ܟ
ܠ ܡ ܢ ܣ ܤ ܥ ܦ ܧ ܨ ܩ ܪ ܫ ܬ ܭ ܮ ܯ
ܰ ܱ ܲ ܳ ܴ ܵ ܶ ܷ ܸ ܹ ܺ ܻ ܼ ܽ ܾ ܿ
݀ ݁ ݂ ݃ ݄ ݅ ݆ ݇ ݈ ݉ ݊ ݋ ݌ ݍ ݎ ݏ
938デフォルトの名無しさんsage2007/03/29(木) 06:26:46
いいかげんcygwin.dll廃止して全コマンドネイティブ化してくれよ。
糞REDHATやる気なさ杉。
939デフォルトの名無しさんsage2007/03/29(木) 07:17:37
>>938
もともとcygwinコマンドはネイティブなWin32アプリだけど?
940デフォルトの名無しさんsage2007/03/29(木) 12:24:39
>>938
お前は何を言っているんだ?
941デフォルトの名無しさんsage2007/03/29(木) 12:55:20
夏だなぁ
942デフォルトの名無しさんsage2007/03/29(木) 22:42:45
>>941
ちょw4ヶ月くらい早いよw
943デフォルトの名無しさん2007/04/01(日) 02:24:05
X クライアントとして動作する wish (Tcl/Tk) を MinGW でビルドできた人いませんか?
944デフォルトの名無しさんsage2007/04/01(日) 20:08:52
状況が色々あって旨く説明できないので箇条書きにします。

1.あるPCにほぼ最新のcygwinがインストールされています。
2.バージョンの古い cygwin1.dll でコンパイルされた A.exe ファイルを実行しようと思っています。
3.A.exeと同じディレクトリに古い cygwin1.dll を入れた。
4.DOSのコマンドプロンプトでは問題なく A.exe は実行できた。
5.cygwinのbashを起動し、A.exeを実行したところ「"cygwin1.dll"のバージョンが合わない」といった
 旨のエラーが出ます。A.exeのpath(古いcygwin1.dllと同じpath)を最優先にしても改善されません。

この A.exe を再コンパイル無しでcygwinのbash上で動かすことは可能でしょうか?
945デフォルトの名無しさんsage2007/04/01(日) 21:09:15
PATH=. A.axe
でいいんじゃないかな。A.exeとcygwin1.dllの置いてあるディレクトリにいる
という前提で。
946デフォルトの名無しさんsage2007/04/03(火) 22:30:08
gdcで、windowsプログラムをコンパイルしたら
リンク時に__Dmainが無いって言われます。

gdc -mno-cygwin -mwindows windows.d

とか色々試したんですが無理でした。
どうしたら、windows用のスタートアップルーチンの
エントリポイントをリンク指定できますか?
947デフォルトの名無しさんsage2007/04/08(日) 19:44:45
devc++もここでおk?
948デフォルトの名無しさんsage2007/04/12(木) 06:26:58
このスレから流れてきました。
http://pc11.2ch.net/test/read.cgi/gamedev/1014389313/587

http://uk.geocities.com/munkeechuff/GCC-Howto.html
↑を参考にgcc4.1.2をSH4向けに構築したくてつまづいてます。
MinGW上でビルド、Windows上で使用します。
# ファイルパスの扱いが違う?と思っているので上のように書きました

configureでは次のようにしています。
---
target=sh-elf
prefix=/d/devkitPro/devkitDC/$target
binaries=$prefix/bin
PATH=$binaries:$PATH
../gcc-4.1.2/configure \
--target=$target \
--prefix=$prefix \
--without-headers \
--with-newlib \
--without-fixinclues \
--with-cpu=sh4 \
--enable-languages=c
---
よろしくお願いします。
949デフォルトの名無しさんsage2007/04/12(木) 06:48:38
># ファイルパスの扱いが違う?と思っているので上のように書きました
その通り。ぱっと見だけど、prefixが違うと思う。
950デフォルトの名無しさんsage2007/04/12(木) 07:19:34
>>949
binutilsがこれと同じ値で通ってるんですが。
なまじ通ってるのが悪いとも考えられます。
仮に直すとしたら、どのように書きますか?

関連パス:
d:\devkitPro ... 開発キットのルート
d:\devkitPro\msys ... msysのルート
d:\devkitPro\msys\MinGW ... MinGW
d:\devkitPro\msys\build ... ここ以下で作業

.\build\gcc-4.1.2 ... tar開いたオリジナル
.\build\sh\gcc ... ここにもぐって>>948のconfigure
951デフォルトの名無しさんsage2007/04/12(木) 11:06:13
/d ってちゃんと存在してんの? /cygdrive/d/ じゃないのか?
952デフォルトの名無しさんsage2007/04/12(木) 11:24:12
だとすれば、binutilsも実際に動かすと襤褸が出そうだな。
例えば内部でgzipを呼ぶtarとか。
953デフォルトの名無しさんsage2007/04/12(木) 11:44:34
>>948のリンクにある方法を参考にするんじゃなくて、
devkitProのbuildスクリプトを参考にしたらいいんじゃないの
俺もこれからコンパイルしてみるが
954デフォルトの名無しさんsage2007/04/12(木) 12:56:33
Unix環境で構築しろよ
955デフォルトの名無しさん2007/04/12(木) 13:18:41
unix、mac、cygwin上でgccを使っているのですが、改行コードどうしたらよいのでしょうか?
956デフォルトの名無しさんsage2007/04/12(木) 13:21:20
>>955
\n
957953sage2007/04/12(木) 18:50:04
>>948
何故 Include Path から見つけられないんだろうな?
碌な解決法じゃないが、gcc-4.1.2/gcc/config/ をディレクトリ丸ごと
と gcc-4.1.2/gcc/coretypes.h defaults.h を $prefix/gcc にコピーすれば
xgcc まではコンパイル通る模様。その先は知らん。
 238KB (243906Byte)
dummy_for_searchRef

DAT2HTML 0.32g Converted.