1read 100read
2011年12月1期プログラム43: Cygwin + MinGW + GCC 相談室 Part 6 (446) TOP カテ一覧 スレ一覧 2ch元 削除依頼
・ 次のスレ
44: おまいら最強の将棋プログラムしてみろよ part7 (10)
45: Rubyについて Part 45 (751)
46: 【入門】Common Lisp その8【質問よろず】 (556)
47: MATLABプログラミング 質問箱 その3 (676)

Cygwin + MinGW + GCC 相談室 Part 6


1 :11/05/06 〜 最終レス :11/12/09
Windows上で動作するフリーの開発環境 CygwinとMinGWに関する相談スレッドです。
過去スレ:
Cygwin + MinGW + GCC 相談室 Part 5
http://hibari.2ch.net/test/read.cgi/tech/1269400706/
Cygwin + MinGW + GCC 相談室 Part 4
http://pc12.2ch.net/test/read.cgi/tech/1221233882/
cygwin + mingwn + gcc 相談室 Part3
http://pc11.2ch.net/test/read.cgi/tech/1177944767/
cygwin + mingwn + gcc 相談室 Part2
http://pc11.2ch.net/test/read.cgi/tech/1126103347/
cygwin + mingwn + gcc 相談室
http://pc8.2ch.net/test/read.cgi/tech/1058134693/
関連サイト:
Cygwin http://www.cygwin.com/
MinGW http://www.mingw.org/
関連スレッド:
GCCについて part9
http://pc12.2ch.net/test/read.cgi/tech/1246059290/

2 :
バイナリ配布サイト:
TDM's GCC/mingw32 Builds
http://www.tdragon.net/recentgcc/
Komisar Mingw
http://komisar.gin.by/mingw/
msys-cn - Project Hosting on Google Code
http://code.google.com/p/msys-cn/
MAME | Tools for building MAME on Windows
http://mamedev.org/tools/
MinGW Distro - nuwen.net
http://nuwen.net/mingw.html
mingw-w64
http://mingw-w64.sourceforge.net/
Cross-Mingw.GCC - x86/x64 - XvidVideo.RU
http://www.xvidvideo.ru/2009-10-22-10-49-14/cat_view/28-cross-mingwgcc-x86x64.html
猫科研究所(felid labo) - MinGW猫科研究所パック
http://up-cat.net/

3 :
長いソースを貼るときはここへ!
http://codepad.org/
http://ideone.com/

4 :
Visual Studioを使ってくださいね
>>3 
他所のをがんがん使うのってどうかね
2chのム板有志でそんなの提供できないのかね。まぁ、絶対不可能だよな

5 :
GLUTのインクルードファイルだけはVisualStudioから拝借してる

6 :
http://hibari.2ch.net/test/read.cgi/tech/1246059290/819-827
で質問したのですが、スレ移動を促されたのでこちらに移動してきました。
以下がはじめの質問内容です。
--
cygwin の gcc-3 (GCC) 3.4.4 を使って
猫でもわかるの最初のサンプルを文字コードをutf8 の ファイル名 foo.cpp で保存して
http://homepage2.nifty.com/c_lang/sdk/sdk_00.htm
gcc-3 -mwindows -foo.cpp
してできたファイルを実行させるとタイトルが文字化けするんですが
ファイルの文字コードを sjis にすると文字化けせずに表示できました。
日本語以外の文字も使いたいので utf8 のまま、
出力を文字化けさせずにするにはどうすれば良いですか?
--
以上です。
cygwin の gcc を使って Unicode 対応の
ウィンドウアプリをつくる方法を知りたく思っています。

7 :
>>6
CreateWindowA() は utf8 を処理しません。
mingw gcc-4 だと
MessageBoxW(NULL, L"こんにちは", L"世界", 1);
これをutf8で保存した奴は思惑通りに動く。

8 :
>>7
ありがとうございます。 ダイアログボックスで日本語の表示ができました。
CreateWindowについてですが、
CreateWindowAではなく CreateWindowW を使えば良いのかと考えまして
-CreateWindow(szClassNme, "猫でもわかるプログラミング"
+CreateWindowW(L"日本語", L"猫でもわかるプログラミング"
に書き換えて
>gcc-4 -mwindows hoge.cpp
したところ、
/cygdrive/c/Users/xxx/AppData/Local/Temp/ccUe4IYl.o:hoge.cpp:(.eh_frame+0x11
): undefined reference to `___gxx_personality_v0'
collect2: ld returned 1 exit status
のエラーになってしまいましたので、
http://futoneko.dtiblog.com/blog-entry-76.html を参考に
>g++-4 -mwindows hoge.cpp
に直したらコンパイルは通るんですが、ウィンドウが表示されません。
CreateWindowWの前に入れた MessageBoxW の表示はされます。
これは何が悪くて表示されないのでしょうか?

9 :
WNDCLASS も RegisterWindow も W 付きにしているか
CreateWindow に渡すクラス名は WNDCLASS の lpszClassName と一致してないとだめだと思うけど
っていうか gcc と関係ない話なのでこれ以上は Win32 へ行くべき

10 :
MinGWで使った実行ファイルにiconつけたくて
http://blog.stranadurakov.com/2009/04/27/icon-and-version-information-resource-file/
ここを参考に
windres resource.rc -O coff -o resource.o
g++ -o app obj1.o obj2.o resource.o
して実行ファイル作ってもアイコン表示がされないだけど、
実際にアイコンつけてうまくいった人いる?

11 :
>>10
うん

12 :
じゃあ俺の環境が悪いだけか…。

13 :
てけとーにどっかのサイトから拾ってきた favicon.ico に対し
echo ID ICON \"favicon.ico\" > r.rc
windres r.rc -o r.o
gcc hello.c r.o -o hello.exe
これでアイコン設定できたよ?
objdump -x r.o (抜粋)
Sections:
Idx Name Size VMA LMA File off Algn
0 .rsrc 00000524 00000000 00000000 0000003c 2**2
CONTENTS, ALLOC, LOAD, RELOC, DATA
objdump -x hello.exe (抜粋)
5 .rsrc 00000524 00406000 00406000 00001400 2**2
CONTENTS, ALLOC, LOAD, DATA

14 :
>>13
ごめんなさい、俺の確認の仕方がおかしかったみたい。
MDIEっていうファイラー使っててそれだとアイコンが表示されないけど
エクスプローラでみたら表示されてた。
ファイラ側のバグなんだろうけど、他のexeはちゃんとアイコン表示されてるし
gcc だとアイコンのつけ方が違うのかな。

15 :
1000行くらいのプログラムソースをcatコマンドでcygwinターミナルに
表示してもターミナルで表示できる行数は決まってるので全部表示され
ません。拡張とかできますか?

16 :
>>14
> ファイラ側のバグなんだろうけど、他のexeはちゃんとアイコン表示されてるし
> gcc だとアイコンのつけ方が違うのかな。
ファイラが表示するアイコン画像を独自にキャッシュしててそれが更新されてないんだと思う

17 :
ここはLinuxやBSDにMinGW入れてクロス開発してる奴でもいいのか?
Win専用か?

18 :
そもそもcygwin自体がニッチなんだし、いいんでない?
内容によってはLinux板の方が回答早いだろうけど。

19 :
>>17
#mingw-w64 に行くと
"なんでクロスでやらないのだ? ふつーネイティブは使わない! せめて cygwin でクロスしろよ"
そんなことを言われる。
でもダウソ数が多いのは mingw バイナリなんだよな。(mingw-w64-gcc の話)

20 :
>>18-19
d
某スレでunixアプリをCygwinやMinGWでビルドやってて
面白そうだから俺もいっちょやってみっかなと思って。
LinuxでReactOSをビルドした事あるけど全部自動スクリプトだった
libcとarch変えたクロスビルドならgccやbinutilsを新規に構築するでしょ
開発環境は揃ってんだけどMinGWの場合も同じかな?
それともMinGWのヘッダファイルだけ入れりゃ出来るかなと思って。

21 :
>>20
いんや、mingwはヘッダだけじゃなくてツールセット一式でしょ
win32のライブラリが必要なのは当然として
バイナリもPE/COFFを吐かないといけないし
俺もmingwは少し触ったことあるだけなんで全然詳しくないけどね
クロスで作ってデバグとか皆どうやってるんだか全然知らない

22 :
>>21
たとえばゲーム機なんて基本的にはクロスだ。
組み込み機器全般、開発は一般的にクロス。
それどころかWindowsだって、デバドラの開発だったらホストとターゲット分けるだろ? (これはクロスではないが)
念のため言うと、PE用 binutils は cygming どれもほぼ同一。
gcc だけ、ライブラリパス・ツールチェインパスが違う程度。
mingw の g は GNU の g なんだが、GNU ではない clang でもある程度のことはできるよ。
これで LLVM Project が binutils 代替えを提供したら
G ってなんの G だよ! ってことになっちゃうw
結論: cygming 用の gcc は基本的に x86 pecoff gcc のちょっとカスタマイズ版。

23 :
>>22
詳しくありがとう
ぐぐってみたら
ttp://bitwalk.sitemix.jp/mingw_cross_debug.php
こんなのを見つけた
要するにmingwターゲットのクロスgdbを使ってリモートデバッグ、ということかな

24 :
自慰

25 :
俺の世歩玲、Gさえ見つかれば完璧なのに…

26 :
さっさと>>15に答えてくれ。

27 :
less使えばいいじゃん

28 :
http://answers.yahoo.com/question/index?qid=20100105194208AAzt1mv

29 :
なぜcatを知っていてmoreやlessを知らないかを小一時間問い詰めたい。

30 :
In your .Xdefaults file, add a line like:
rxvt*saveLines: 10000
て書いてある。

31 :
>>29
だって、プログラムの話じゃなくスレ違いのcatコマンドの話を
プログラム板でする低脳だよ

32 :
>>21-22
やっぱりか。
全部入れる事にする
more,less使うのが妥当だと思うけどminttyだっけ?
Cygwinのターミナルでホイールスクロールしたら上下しない?

33 :
minttyは左上のアイコンからOptions->Window->Scrollback linesでログ行数を変更出来るな
ただこの話題は板違いなので無視していい

34 :
cygterm

35 :
forkがらみだけ実装したようなライブラリとかないの?

36 :
Boost.Process

37 :
4.6なmingwがやっとでけた、adaのbuildではまったよ

38 :
Windowsで作成したテキストファイルをCygwinから見るとexecutableになっているのですが、
普通のfilemodeで認識させるにはどうすれば良いでしょうか

39 :
chmod a-x hoge.txt

40 :
パーミッションの変更も出来ない奴がCygwin使ってるのかw

41 :
Cygwin上のvimで作成したファイルは644なのですが、
Windowsのメモ帳で作成したファイルは755になってしまうのです…

42 :
>>41
cygwin上ならchmodコマンドを使ってファイルのパーミッションを変更できる。

43 :
>>42
作成した時点で、というのは無理なのでしょうか?

44 :
1フレームワークの事情なんかWindowsから知ったことか

45 :
>>43
cygwinで使えるNotepad.exe相当を作ればいいじゃん。

46 :
超初心的な質問ですまないんだが、windowsプログラム作っててgccでAlphaBlend使おうと色々やってたんだけど
#include <wingdi.h>追加して
gcc -mwindows -lmsimg32 test.cpp でできん・・・
なにか勘違いしてるのか?俺。
cmdとmingwでやってるだけなんだがcygwinいれたほうがいい?

47 :
-l は後ろにつけろ
左から右に探していくのはgcc共通だ

48 :
>>44
例えばmountオプションなんかで、何らかの情報を基に判断してくれるような方法が
無いのかな、と思ったのですが…
というか別にWindowsがそうしてるからexecutableになってるわけじゃないですよね?
>>45
ファイルを作成するアプリはメモ帳に限らないので。

49 :
cygwinを運用する話ならunix板のスレへGO

50 :
>>49
おっとすみません。ム板でしたね、ここ…

51 :
>>40 >>44
プ

52 :
boostのバイナリ込みのやつありますか?
検索でこれ見つけました。ほかにありますか。
http://nuwen.net/mingw.html
http://ascend4.org/Binary_installer_for_Boost_on_MinGW

53 :
これもみつけた
MinGWの派生ビルドのひとつ「MinGW Distro」
http://convenient.blog106.fc2.com/blog-entry-780.html
mingwer
http://code.google.com/p/mingwer/downloads/list

54 :

Logue Pack
http://cid-367e73e8cc6137b0.office.live.com/browse.aspx/Development%20Tools/Logue%20Pack

55 :
すみません。CygwinでLinuxのCプログラムのホームページをみているんですが、
gccにて以下のエラーがでます
>sys/socket.h: No such file or directory
C:\cygwin\usr\include\sysフォルダにちゃんとsocket.hファイルはあるんですが・・・
どうすればいいのかとググッたんですが解決できません。宜しくお願いします。

56 :
which gcc

57 :
>>56
Cygwinでインストールされているgccです。

58 :
>>55
エラーが出る最小のソースをplease

59 :
じつは””でくくってましたとか言うのはナシな。

60 :
すみません。ソースは↓です。どうも環境設定の方がわるいのかな・・
#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <errno.h>
int main()
{
int sock;

sock = new socket(3000, 4000, 5000);
if(sock<0) {
perror("socket");
printf("%d\n", errno);
return 1;
}

return 0;
}

61 :
こちらでは意味不明なnewを外してコンパイルできた
gcc -v hoge.c
の結果をpastebin.comとかに全部貼れ

62 :
>>61
ありがとうございます。
なんていうか、申し上げづらいのですが・・
今、Cygwinのパッケージマネージャー?をみたら、gccの部分がskipになっていました。。
今、インストールしております。。
お騒がせしました。
ちなみに、gcc -v hoge.c の貼り付けたサイトはhttp://codepad.org/xZh89EVSです・・
どうも、Mingwのgccが動くみたいです・・知らなかったので、すみませんでした。

63 :
既にCygwin入れた状態でセットアップ開いた?
それなら導入済みのパッケージは自動でSkipに設定されてるのが正常
>#include <...> search starts here:
> c:\qt\2010.05\mingw\bin\../lib/gcc/mingw32/4.4.0/../../../../include
PATHの順序でc:\qt\2010.05\mingw\bin\gcc.exeが優先されてるくさい

64 :
>>63
どうもありがとうございます。
gccをパッケージマネージャ?からインストールしたら、無事できるようになりました。
ややこしいっすね(;^_^ 色々環境を入れると。ありがとうございます。

65 :
確かに実機のFreeBSDやLinuxよりややこしい

66 :
Wineの逆版があればいいのにな。

67 :
あるよ>coLinux

68 :
それ逆でもなんでもねえよ

69 :
vmwareでいいじゃん。

70 :
>>69
それ言ったらCygwin要らねぇじゃん
ていうかドンドン離れていってるぞ
WineのようにWindowsでUNIXバイナリ単体で動かすのは無理だよね
LinuxだったらRHEL6バイナリとかディストリとバージョン限定じゃないと無理。
BSDもOpen,Net,DragonFlyとか色々あるので無理
Macバイナリならなんとかできるかもしれない。

71 :
>>66,67,69,70
お前ら一体何を目指してるんだ?

72 :
>>71
Wineの逆版

73 :
windowsはバイナリベースの世界、UNIXはソースベースの世界なんだから
wineの逆はcygwin or Mingwでいいだろ。
互換層を複数混ぜ込んでシステム全体が混乱したとしても自己責任だぜ。

74 :
昔、lineとかあったような

75 :
Cygwinは/丸ごと入れるからなぁ
Wineみたいにアプリ単体でもインストールできたらいいのに

76 :
今あるもので良いだろって言うのは進歩する気が無い人間のセリフだよね

77 :
全部Javaで書けばいいのに。

78 :
>>77
じゃぁFontForgeをJavaで書いてくれる?

79 :
>>75
それじゃまるでwineに .wine/drive_c/windows とか存在しないって言ってるように聞こえるが。

80 :
それただのディレクトリじゃねぇかw

81 :
Wineのwiki見てたらWine on Windowsってのもあるんだな

82 :
>>80
無いの?
.wine/drive_c/windows/system32 とかも無いの?
それらの実体としての*.dll.soもインストールされてないの?
君のwineはどうやって動いてるの。

83 :
$ du -h ~/.wine
41M
$ du -h ~/.wine/drive_c/windows/system32
40M
本体は/usrにあるわけだがインスコ容量が判らんので一度パッケージ化して/tmpにでも解凍してみるわ

84 :
wine-1.2.1で106Mだった

85 :
winegccなんてのがあった
これってMinGWの代わりになったりするんだろうか?

86 :
wineのためのコンパイラドライバみたいなものでしょ
クロスなmingw環境のほうが使いであるだろうに

87 :
>>85
libwineをリンクしたネイティブのバイナリを吐くんだから代わりにならねーよ

88 :
代わりってLinux上で動くMinGWでも探してるんだろうか
いやすでにあるよなぁ

89 :
MingwってDirectShow使える?

90 :
たまたま見つけたという話からLinux上で動くMinGWを探してるという話に変わった。
たった4レスでw

91 :
.gchがMakefileのターゲットにも必須項目に登場することは無いよね?

92 :
>>90
たまたまみつけたのはwinegccで、探してるのかというのはLinux上で動くMinGW、べつのものだね。
winegccは「どういうものなのか」という問いでなく、「MinGWの代わりか」という問いだったので
意図を測りかねたということだだろう、話が変わったのではなく、ね。

93 :
>>92
「winegccはMinGWの代わりか?」ではなく「winegccはMinGWの代わりになったりする?」なので微妙にニュアンスが違うと思われる。

94 :
「winegccはMinGWの代わりか」 → winegccはMinGWの代替えか
No. >>92
「winegccはMinGWの代わりになったりする?」→ winegccはMinGWのように扱えるのか
Yes. >>85

95 :
下もNoだろ、>>87によれば。

96 :
このブログによるとMinGW互換と書いてるが間違ってるのか。迷惑だな。
Wineを利用したMinGW互換のC/C++コンパイラ。実装はgccのラッパー。
MinGW向けに書かれたWindowsのアプリケーションをLinux上でLinux向けにコンパイルすることが可能。
Wineのdllやexeのコンパイルにも利用されている。
http://d.hatena.ne.jp/keyword/winegcc

97 :
>Linux上でLinux向けにコンパイルすることが可能。
間違ってないような?

98 :
> MinGW向けに書かれたWindowsのアプリケーションを

99 :
>>96
それブログやない

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
・ 次のスレ
44: おまいら最強の将棋プログラムしてみろよ part7 (10)
45: Rubyについて Part 45 (751)
46: 【入門】Common Lisp その8【質問よろず】 (556)
47: MATLABプログラミング 質問箱 その3 (676)
20130319155026
USA