Cygwin + MinGW + GCC 相談室 Part 4

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
Windows上で動作するフリーの開発環境 CygwinとMinGWに関する相談スレッドです。

過去スレ:
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について part8
http://pc11.2ch.net/test/read.cgi/tech/1192201659/
【激遅】AppleGCC【絶望】
http://pc11.2ch.net/test/read.cgi/tech/1173267844/
2デフォルトの名無しさん:2008/09/13(土) 00:39:10
CygwinとMinGWを同時にインストールするのは混乱の元になるので止めましょう。
3デフォルトの名無しさん:2008/09/13(土) 01:01:07
qt4のために入れざるを得なかったんだ
4デフォルトの名無しさん:2008/09/13(土) 22:26:51
標準でGCC 4が入るときは来るのか。
まともなlocale対応が入るときは来るのか。
5デフォルトの名無しさん:2008/09/14(日) 12:11:19
>> 1 乙です
それにしても1000過ぎたら落ちるの速すぎだなあ
6デフォルトの名無しさん:2008/09/14(日) 21:45:08
↓のGCC使ったやり方でFireFOXビルドできない><
http://developer.mozilla.org/en/Compiling_Mozilla_With_Mingw
7デフォルトの名無しさん:2008/09/14(日) 22:28:33
gcc4を入れたとか?
8デフォルトの名無しさん:2008/09/15(月) 00:47:53
3だよっ!
9デフォルトの名無しさん:2008/09/15(月) 01:19:20
エラーはどんなのがでるの?
10デフォルトの名無しさん:2008/09/15(月) 08:54:34
>>6
この文書は 2007 年 3 月の MozillaBuild システム導入前の Mozilla 1.9 コードベースをビルドするためのビルド要件のガイドです。Firefox 1.5.0.10 以上、Firefox 2.0.0.2 以上、Firefox 3 をビルドする場合は標準的な Windows ビルド要件 を見てください
11デフォルトの名無しさん:2008/09/15(月) 09:52:11
それちがうやん
12デフォルトの名無しさん:2008/09/20(土) 02:04:24
Cross Compile Mozilla for Mingw32ってのがあるみたい。
13デフォルトの名無しさん:2008/09/20(土) 13:44:30
ソースからコンパイルしたlinuxホストのクロスgcc 3.4.6で
-Wformatつけて%016I64xという書式指定をすると、
「unknown conversion type character `I' in format」
とか言われるけど、Windows用のmingwバイナリでも同じ?

LinuxでWindowsホストのx64_64-elfのgdbを作ろうとしてこれでこけた。
14デフォルトの名無しさん:2008/09/20(土) 14:11:40
x86_64なのにlongが32bitなの?
15デフォルトの名無しさん:2008/09/21(日) 08:03:08
mingw版gccで
#include<iostream>

int main(){
cout<<"こんにちは";
}
とするとちゃんと日本語表示される?
されないなら、対処法は?


16デフォルトの名無しさん:2008/09/21(日) 13:33:22
Automated MinGW Installer 役に立たない・・・
ダウンロードがまったくできんし。
17デフォルトの名無しさん:2008/09/21(日) 15:43:40
>>15
ソースコードをシフトJISで書いたなら --input-charset=cp932 を指定する
cp932 で読み込まれて内部では utf8 になるらしい、んで
吐き出される文字リテラルはデフォルトで utf8 なんだとさ
それをシフトJISにしたいなら --exec-charset=cp932 を指定する
g++ --input-charset=cp932 --exec-charset=cp932 hogehoge.cpp -o hogehoge.exe
こんなかんじka よくしらんがてきとう
18デフォルトの名無しさん:2008/09/22(月) 01:04:46
MimGWインストールしたんだが
mingw32-make.exeがどこにもない
19デフォルトの名無しさん:2008/09/22(月) 10:42:30
デフォルトでチェックはずれてたか、別パッケージだった希ガス
20デフォルトの名無しさん:2008/09/25(木) 22:46:56
MinGWでGitって使えない?
21デフォルトの名無しさん:2008/09/26(金) 10:27:19
msysGit
22デフォルトの名無しさん:2008/09/28(日) 03:44:31
msysgitをインストールしてgit関連のを全部コピったら使えた。d
23デフォルトの名無しさん:2008/10/03(金) 01:33:43
rubyをC++に組み込もうとしているのですがうまく行きません。板違いかなとも
思うのですが、MinGWでコンパイルエラーが出ていて、この部分さえクリアできれば
いけそうなので質問させてください。
エラーは、
newmain.cpp:31: error: invalid conversion from `VALUE (*)(VALUE)' to `VALUE (*)(...)'
newmain.cpp:31: error: initializing argument 3 of `void rb_define_method(VALUE, const char*, VALUE (*)(...), int)'
newmain.cpp:32: error: invalid conversion from `VALUE (*)(VALUE, VALUE)' to `VALUE (*)(...)'
newmain.cpp:32: error: initializing argument 3 of `void rb_define_method(VALUE, const char*, VALUE (*)(...), int)'
というものです、でVALUEは、
typedef unsigned long VALUE;
と宣言されています。ご教示お願いします。
24デフォルトの名無しさん:2008/10/03(金) 01:42:11
>>23
エラーだけじゃなくてコードも見せなさいな。
25デフォルトの名無しさん:2008/10/03(金) 01:51:41
>>24
こんな感じです。ruby付属のドキュメントの例のまんまなんですが、コンパイルが
通らないんです。

#include <ruby/ruby.h>
static VALUE t_init(VALUE self)
{
VALUE arr;
arr = rb_ary_new();
rb_iv_set(self, "@arr", arr);
return self;
}
static VALUE t_add(VALUE self, VALUE anObject)
{
VALUE arr;
arr = rb_iv_get(self, "@arr");
rb_ary_push(arr, anObject);
return arr;
}
VALUE cTest;
void Init_Test() {
cTest = rb_define_class("Test", rb_cObject);
rb_define_method(cTest, "initialize", t_init, 0); ←エラーが出てる箇所
rb_define_method(cTest, "add", t_add, 1);     ←エラーが出てる箇所
}

で、関数の宣言は
void rb_define_method(VALUE,const char*,VALUE(*)(ANYARGS),int);
となっています。引数のANYARGSの宣言は以下です
#define ANYARGS ...

26デフォルトの名無しさん:2008/10/03(金) 02:11:29
第3引数が、可変長引数の関数ポインタを受け取るということだとは思うのですが、
なぜエラーになってしまうのでしょうか?
27デフォルトの名無しさん:2008/10/03(金) 09:51:23
rubyか...
Rubyスレで聞くと良いんじゃね
28デフォルトの名無しさん:2008/10/03(金) 10:21:17
>>27
rubyというよりもC++の問題かなと。でエラーが関数ポインタ周りだということで
簡単なソース作ったんですが、
#include <iostream>
#include <cstdarg>

using namespace std;

static void func(int n,int a,int b,int c) {
int v = a+b+c;
cout << v << endl;
}

int main() {
void (*p)(int,...)=func;
p(3, 1, 3, 5);
return 0;
}
とすると、
newmain.cpp:12: error: invalid conversion from `void (*)(int, int, int, int)' to `void (*)(int, ...)'
というエラーが出ます。
ちなみに、
int main() {
func(3, 1, 3, 5);
return 0;
}
だと、ちゃんと動いてくれます。
可変長引数の関数ポインタの中に、引数の数が決まった関数をぶち込むのに
なぜエラーが出てしまうのかが分かりません。
29デフォルトの名無しさん:2008/10/03(金) 19:19:06
そりゃそうだ。
誤った引数を与えられるようになるから、そんな変換は認められない。
reinterpret_cast使え。
30デフォルトの名無しさん:2008/10/03(金) 21:02:39
「可変長rリスト型」の引数の関数ポインタと、「int型の引数4つ」の関数ポインタだからだろ。
ruby脳の状態でC++使うからそうなる。使う言語に応じてちゃんと脳みそと知識を切り替えろ。
31デフォルトの名無しさん:2008/10/03(金) 23:44:51
実際試してみるのにrubyをコンパイルしなおしたり色々していてやっとで出来ました。
>>29
reinterpret_cast使ったら一発でいけました。ありがとうございます。
>>30
ruby歴1日もないような気がしますorz どちらかと言うとPython脳です。
rubyとpythonの組み込みは、どちらが簡単かなと試していたら嵌ってしまって
質問させて頂いた次第です。お騒がせしました。
32デフォルトの名無しさん:2008/10/04(土) 05:30:56
可変引数リスト使っていて va_list を使わずに直接突っ込むのはアリなのかなあ
33デフォルトの名無しさん:2008/10/05(日) 01:06:57
引数順が分かってる分には問題ないよ
型チェック機構は働かないけどね
34デフォルトの名無しさん:2008/10/05(日) 08:36:12
>>33
そうなんだ。ありがとう
35デフォルトの名無しさん:2008/10/07(火) 15:46:40
3 [main] ? 3084 init_cheap: Couldn't reserve 3600336 bytes of space for cy
gwin's heap, Win32 error 487
C:\cygwin\lib\gcc\i686-pc-cygwin\3.4.4\cc1.exe (3084): *** AllocationBase 0x0, B
aseAddress 0x61820000, RegionSize 0x360000, State 0x10000

こんなエラーが出てしまいました。
gccによるコンパイル時です。
単に gcc とやったときにはno input fileと出るのでインストールはされているようです。
36デフォルトの名無しさん:2008/10/07(火) 18:40:18
うん、マルチは死ね
37デフォルトの名無しさん:2008/10/07(火) 20:24:45
38デフォルトの名無しさん:2008/10/07(火) 22:10:11
XP使いなんですが
39デフォルトの名無しさん:2008/10/07(火) 22:12:28
XP使いなんですが
40デフォルトの名無しさん:2008/10/08(水) 01:39:33
XP使いなんですが
41デフォルトの名無しさん:2008/10/08(水) 03:47:17
で?
42デフォルトの名無しさん:2008/10/08(水) 14:59:43
ME使いなんですか?
43デフォルトの名無しさん:2008/10/10(金) 09:48:33
MinGW+MSYSなんだが、>>35みたいなエラーがでるんで
rebasedのmsys-1.0.dllやらbash3.1を導入したら
AllocationBaseうんちゃらは出なくなったが、
configureやmakeでSegmentation faultが発生しまくるようになった。
しかも発生するところは実行するたびに変わるという鬼畜っぷり
これはどうすればいいんすか?環境はXP SP3です。
44デフォルトの名無しさん:2008/10/10(金) 16:12:09
ベースを替えたんなら、変えたベースに合わせてビルドされた
バイナリを使えばいいのでは
4543:2008/10/12(日) 13:17:45
いろいろがんばってみたけど分からんです
海外のBBSを漁ってたら同じような現象が起きてるみたいで
それの回答は「トロイ感染してんじゃね?」だった
でもウイルス見つからなかったし、OSのどっかが壊れてるのかもしれない
46デフォルトの名無しさん:2008/10/13(月) 16:53:28
このスレに質問すればいいのか分かりませんが、
CygwinにGCC4.3.2を入れようと思って、ソースからビルドしたのですが、
libstdc++のところでコケちゃって、
/cygdrive/c/DOCUME~1/Admin/LOCALS~1/Temp/ccNICzCd.s:11: Error: unknown pseudo-op: `.symver'
/cygdrive/c/DOCUME~1/Admin/LOCALS~1/Temp/ccNICzCd.s:12: Error: unknown pseudo-op: `.symver'
……
/cygdrive/c/DOCUME~1/Admin/LOCALS~1/Temp/ccNICzCd.s:41: Error: unknown pseudo-op: `.symver'
というエラーが出ます。
おかげで、iostreamを使ったHello, worldすらリンクに失敗して困っております。
(printfを使ったHello, worldなら問題なくビルドできます)

どのような対策を講じればよいでしょうか?
ちなみに、以前にもGCC4.3.0を自力で入れたことがあって、
そのときはこのような問題は出ませんでした(表面化しなかっただけ?)
47デフォルトの名無しさん:2008/10/13(月) 19:20:50
>>46
それ、asが出してるエラーだから、binutilsの問題かも?
48デフォルトの名無しさん:2008/10/14(火) 19:05:01
>>47
ありがとうございます。
うーん、binutilsの最新版も入れてみたのですが、やっぱりエラー変わらないですね。
49デフォルトの名無しさん:2008/10/14(火) 20:04:33
gcc4をsetup.exeで入れてみたら?
50デフォルトの名無しさん:2008/10/14(火) 20:41:08
>>49
cygwinにgcc-4あったんですね、知りませんでした。
どうもありがとうございます、とりあえず目前の問題は解決しました。
51デフォルトの名無しさん:2008/10/15(水) 08:45:02
error: size of array `temp' is too large というエラーについてですが
int temp[3,000,000]; とかにすると小さなスタック領域では確保できなくなりエラーが起こるのですが

これはリスト構造でヒープ領域に動的確保するしかないのでしょうか?
(2,500,000番目とかにアクセスする時は効率が悪そうですが・・・)
52デフォルトの名無しさん:2008/10/15(水) 08:45:26
↑ちなみにC言語です。
53デフォルトの名無しさん:2008/10/15(水) 09:22:42
スタックでは出来なくてもヒープなら大丈夫と思うが
int *p = malloc(sizeof(int) * 3000000); でどうよ?
54デフォルトの名無しさん:2008/10/15(水) 09:30:05
ボーランドコンパイラにはスタック領域を変えられるオプションがあったと思うが
Cygwinの場合は何だったかな
--stack,サイズ -fstack,サイズ stack,サイズ
55デフォルトの名無しさん:2008/10/15(水) 11:59:45
スタックだろうとヒープだろうと効率は大して変わらんよ
56デフォルトの名無しさん:2008/10/15(水) 12:09:39
そうなの?
57デフォルトの名無しさん:2008/10/15(水) 20:52:51
>>51
>これはリスト構造でヒープ領域に動的確保するしかないのでしょうか?
>(2,500,000番目とかにアクセスする時は効率が悪そうですが・・・)
文面からするとint*3メガ分ヒープから確保して全て線形リストに突っ込もうとしているように見えるが、

 int* LargeBuffer = malloc( sizeof( int ) * 3000000);
 LargeBuffer[2500000] = 2500000;

↑じゃだめなのか?

58デフォルトの名無しさん:2008/10/15(水) 21:57:25
>>56
確保するのにかかる手間は違うが、
確保さえしてしまえばアクセスする手間は同じ。どっちも同じメモリなんだから。
59デフォルトの名無しさん:2008/10/15(水) 22:17:13
32bitマシンだと連続で3メガとか確保できないのでは?
60デフォルトの名無しさん:2008/10/15(水) 22:40:41
釣りならむしろ安心するけどさ。

#include <stdio.h>
#include <stdlib.h>
int main() {
  int i;
  int* pbuf = malloc( sizeof( int ) * 3000000);
  for (i = 0; i < 3000000; i++) {
    printf("%p\n", &pbuf[i]);
  }
  return 0;
}

試してみ。
61デフォルトの名無しさん:2008/10/15(水) 22:49:27
>>59
3ギガバイトじゃないんだぞ
62デフォルトの名無しさん:2008/10/15(水) 22:53:21
読み間違ってた。すんません。
63デフォルトの名無しさん:2008/10/16(木) 08:55:34
Cygwinで64bitプログラム造るにはどうすればいいんだ
64デフォルトの名無しさん:2008/10/16(木) 11:04:14
cygwin自体が64ビット化しないと無理では?
しかしFAQによれば・・・

http://www.cygwin.com/faq/
>no one is working on a native 64 bit version of Cygwin
65デフォルトの名無しさん:2008/10/16(木) 12:03:01
GCCとwindresのShift_JIS対応はまだ?
66デフォルトの名無しさん:2008/10/16(木) 13:12:53
67デフォルトの名無しさん:2008/10/16(木) 20:23:15
そこのページにSHIFT_JISとかだと駄目ってあるが、
そいつらだと\がU+A5に変換されるため。
68デフォルトの名無しさん:2008/10/17(金) 02:03:33
mingw64というのがsourceforgeにあって適当に入れたが動かない。
面倒くさいのでパスすらろくに通してないからそりゃ当然だけど。
64bitにしたところで、32bitのdllとリンクできないから大して便利にならんなぁ。
なんでサンクみたいなのつくらなかったんだろ>MS
69デフォルトの名無しさん:2008/10/17(金) 02:09:08
>>68
痛ニウムの実装をそのまま持って来ちゃったんだろうな…
70デフォルトの名無しさん:2008/10/17(金) 19:16:46
今から作っても絶対(時期的に)遅くないと思うんだけど。
71デフォルトの名無しさん:2008/10/17(金) 22:47:51
wow64?
72デフォルトの名無しさん:2008/10/18(土) 13:37:16
>>71
それじゃダメなんだよな〜
73デフォルトの名無しさん:2008/10/18(土) 17:39:26
凄いって聞いてたけど
74デフォルトの名無しさん:2008/10/18(土) 18:20:05
>>71>>73
MinGW関係なく、64ビットプロセスが32ビットDLLを読み込んだりその逆をしたりすることはできない。
(16ビットから32ビットへの移行時はできた)
>>69も言っているが、Itaniumならともかくx86-64でできないのは残念すぎる。
75デフォルトの名無しさん:2008/10/18(土) 20:12:37
>>74
> 16ビットから32ビットへの移行時はできた

それってシステムDLLだけじゃねーの?
と思ったら一般DLL向けのサンクAPIなんかあったのか
ttp://www7a.biglobe.ne.jp/~tsuneoka/win32tech/16.html

しかし、ここまでやるならサイズ別にコンパイルしなおしたほうが
ややこしいこと考えずに済みそうな気もするが・・・
76デフォルトの名無しさん:2008/10/18(土) 20:50:55
自分でソース持ってるものならな
77デフォルトの名無しさん:2008/10/18(土) 21:23:00
>>75
LoadLibraryEx32Wとかのほうが手軽そうに見える(使ったことない)。
そこに書いてあるフラットサンクと違って、
引数の変換なんかはやってくれないが、32ビットDLLに手を入れることなく16ビットプロセスから呼び出せる。
78デフォルトの名無しさん:2008/10/31(金) 11:54:57
それ逆じゃね
79デフォルトの名無しさん:2008/10/31(金) 19:23:58
ついさっき、MinGWをインストールしたのですが、
math.hがなくて途方に暮れてます・・・
80デフォルトの名無しさん:2008/10/31(金) 19:37:32
mingw-runtime にあるよ
81デフォルトの名無しさん:2008/10/31(金) 21:34:51
Thx
解決しました。
82デフォルトの名無しさん:2008/11/09(日) 18:39:16
最新のcygwinを使ってます。
以下の実装で以前は動いていたんですが、最近
--------------------------------------------------------
%.obj: %.cpp
@echo $<
@if [ ! -d dotDep ]; then mkdir dotDep; fi
@$(CC) $(CFLAGS) /showIncludes /TP /c /Fo$@ $< > dotDep/$*.d0 \
|| ( $(SED) -e '1{/$</d;}; /^Note: including file:/d' dotDep/$*.d0; exit 1)
@$(SED) -e '1{/$</d;}' \
-e '/^Note: including file:/d' dotDep/$*.d0
@(echo '$@: \' \
&& $(SED) -ne '/^Note: including file:/ { \
s|\\|/|g; \
s/^Note: including file:[ ]*//; \
s/$$/ \\/; \
s|^\(.\):| /cygdrive/\1|; \
p; \
}' dotDep/$*.d0 \
&& src=`$(SED) -ne '/^#line 1 /{s/.*"\([^"][^"]*\)".*/\1/; h;}' \
-e '8{x;p;q;}; $${x;p;q;}' $<`; \
&& echo "$${src:-$<}") > dotDep/$*.d1
@mv dotDep/$*.d1 dotDep/$*.d
------------------------------------------------------------------

/bin/sh: -c: line 10: syntax error near unexpected token `&&'
/bin/sh: -c: line 10: ` && echo "${src:-game.cpp}") > dotDep/game.d1'

実行すると上記のエラーになります。
どこが間違ってるのでしょう?
83デフォルトの名無しさん:2008/11/10(月) 00:35:25
84デフォルトの名無しさん:2008/11/12(水) 09:15:08
mingwをインストールしたのにsndfile.h が
ないんですけど?
どうしたらいいですか?
詳しく教えて下さい。
本当に困ってます。
85デフォルトの名無しさん:2008/11/12(水) 10:38:59
>ないんですけど?
ないんですか? ないのか尋ねているのですか?

>どうしたらいいですか?
そもそも、mingwにsndfile.hがあると思った根拠は?
86デフォルトの名無しさん:2008/11/12(水) 10:40:50
87デフォルトの名無しさん:2008/11/12(水) 10:47:43
>>85
あげあしとらないでもらえます?
mingwにあるって聞いたんです。
>>86
そのURLなんですか?
詳しく教えて下さいって書いてあるのが読めないんですか?
本当に困ってます。
88デフォルトの名無しさん:2008/11/12(水) 11:33:23
なんだ、釣りか。
89デフォルトの名無しさん:2008/11/12(水) 19:54:52
>>87
もちろん>>86は一番詳しいところを紹介したに決まっているだろ。
90デフォルトの名無しさん:2008/11/12(水) 20:20:08
>>87
MinGW に sndfile.h があるって言った奴に聞けよボケ
91デフォルトの名無しさん:2008/11/12(水) 21:57:24
ちょっと環境違うんですが、Darwin の gcc で以下のファイル hoge.c をコンパイルすると
warning: build-in function "index" declared as non-function
って警告がでるんですが、どういうことでしょうか?
組み込み関数に index なんてありましたっけ??

int index;
int main(int argc, char *argc[])
{ return 0; }


9291:2008/11/12(水) 21:58:22
ちなみにコンパイル時のコマンドは単に gcc hoge.c です。
93デフォルトの名無しさん:2008/11/12(水) 22:01:06
>>87
ひとにものきく態度じゃないな
人としてのしつけをママにでも
幼児の頃からし直してもらってこい
話はそれからだ
94デフォルトの名無しさん:2008/11/12(水) 22:05:19
>>91
$ man index
NAME
index, rindex -- locate character in string

LIBRARY
Standard C Library (libc, -lc)

SYNOPSIS
#include <strings.h>

char *
index(const char *s, int c);

char *
rindex(const char *s, int c);
9591:2008/11/12(水) 23:06:12
ありがとう! man コマンドってCの関数も調べられるのね。
しかし strchr との違いがよくわからん。。。
96デフォルトの名無しさん:2008/11/12(水) 23:09:10
The index() function is an old synonym for strchr().
97デフォルトの名無しさん:2008/11/13(木) 01:19:56
しのにむ。。。。
98デフォルトの名無しさん:2008/11/15(土) 23:19:32
mingw の crt2.oってどのパッケージにはいってますか?
99デフォルトの名無しさん:2008/11/15(土) 23:22:11
100デフォルトの名無しさん:2008/11/15(土) 23:23:48
>>99
ありがとうございます!
愛してる!
101デフォルトの名無しさん:2008/11/17(月) 14:28:53
初心者質問すいません。
Cygwinではyumって使えないのでしょうか??
Cygwinの中に新しいソフトウェアをインストールしたい時ってどうするのが一番なんでしょうか?
102デフォルトの名無しさん:2008/11/17(月) 14:34:54
cygwinの「中に」ということなら、セットアップを起動してパッケージを選択する。
それ以外のツールならWindows用をインストールして、適宜シンボリックリンクを張る。
103デフォルトの名無しさん:2008/11/17(月) 23:03:28
ソースからコンパイルする
104デフォルトの名無しさん:2008/11/18(火) 11:17:16
yum入れたらええやん
105デフォルトの名無しさん:2008/11/18(火) 18:08:12
ansi Cの標準関数で、キーボードの状態を取得できるものってありますか?
ESC キーの状態だけでもいいのですが。。。。
標準関数がない場合はwin32 環境では GetKeyState みたいなのが使えますが、
Linux 系ではどんな関数をつかえば??
106デフォルトの名無しさん:2008/11/18(火) 18:16:11
>ansi Cの標準関数で、キーボードの状態を取得できるものってありますか?
ありません。

>Linux 系ではどんな関数をつかえば??
Xアプリ なら XQueryDeviceState(3)が使えるけど、 普通のttyアプリの場合は
そもそも、文字入力しかないわけで、キーを押したとか離したとかはわかりません。
107デフォルトの名無しさん:2008/11/18(火) 18:18:04
>>105
mingwでWinAPIを使うかcygwinにxを入れてXlibを使うか。
このスレ的には、最後の行はスレ違い。
108デフォルトの名無しさん:2008/11/18(火) 18:33:04
そういうときはマルチプラットフォームな低レベルライブラリのソースを読むと吉
例えばSDLとかな
109101:2008/11/19(水) 23:34:15
もうちょっと調べてみたらyum使えそうですね。ありがとうございましたm(_ _)m
110デフォルトの名無しさん:2008/11/20(木) 00:57:38
MinGWを使用して.cのファイルをコンパイルしたら
warning: unknown escape sequence
とでるのですが解決方法をご教授ください。
111デフォルトの名無しさん:2008/11/20(木) 01:11:20
>>110
入出力の文字エンコードを明示的に指定してみては?
例えば、
gcc -finput-charset=CP932 -fexec-charset=CP932 -o hoge hoge.c
みたいな感じで。
112デフォルトの名無しさん:2008/11/20(木) 01:13:30
>>111
ありがとうございます。
やってみます。
113デフォルトの名無しさん:2008/11/26(水) 19:41:13
インストール時に出来たファイル(http or ftp)は削除していいのかな?
114デフォルトの名無しさん:2008/11/26(水) 20:18:33
更新のときに便利だから消さないほうがいいね。
まぁ、それまでアーカイブしてしまってもいいかも試練が
115デフォルトの名無しさん:2008/12/05(金) 07:44:39
-march=amdfam10でコンパイルしたバイナリがCore2でも動くのは何で?
3DNow!とか使えないはずなのに。
116デフォルトの名無しさん:2008/12/05(金) 15:55:06
>>115
使えないインストラクションを使わないバイナリなら動くわね。
例えば極端な例だけど、main()の中身がないとか。
117デフォルトの名無しさん:2008/12/05(金) 15:59:44
そーなのかー
ちなみにx264なんだけど使わないのか。
d
118デフォルトの名無しさん:2008/12/05(金) 22:34:02
gccで勝手にSIMD命令使うのは、-mfpmath=sseとしたときの実数演算だけ。
しかも同時にひとつの演算しかしない。
119デフォルトの名無しさん:2008/12/06(土) 23:29:57
それ以前に本家gccは3DNow!を使ってくれるのか?
AMDの改造gccなら使ってくれるかもしれないけどさ
120デフォルトの名無しさん:2008/12/06(土) 23:54:13
-m3dnow
-m3dnowa
121デフォルトの名無しさん:2008/12/19(金) 03:21:36
すいません質問させてください。
Delphiで作ったdllをMinGWでコンパイルしたプログラムから使ったりすることはできるのでしょうか??
122デフォルトの名無しさん:2008/12/19(金) 10:23:26
123121:2008/12/19(金) 15:54:13
C++Builderの記事のようですが、MinGWの場合でも同様ということですよね?
ありがとうございます!
124デフォルトの名無しさん:2008/12/23(火) 22:26:51
すいません教えてください。
gnustep-base-1.16.5 をビルドしていたところ、
gcc-4.4.0-20081128 で internal compiler error: in spill_failure
というのが出たので -E オプションで問題に遭ったコードを抽出しようと考えたのですが、
6292 行もあってどこから手をつけるべきか途方にくれています。
コンパイラが指摘する発生箇所には4行の関数定義があるので、
ここに無関係なコードを再帰的に除外するような便利なツールがあれば教えてください。
125デフォルトの名無しさん:2008/12/24(水) 05:37:47
質問です。
xlslibというexcelファイル入出力のライブラリのビルドに
チャレンジしているのですが、もう一歩というところで行き詰っています。
このサイトの方法でやってます。
http://newmonic.blogspot.com/2008/11/building-xlslib-on-msys.html

エラーは、makeの時に
g++.exe: C:/FreeWare/msys/1.0/local/lib/libxls.0.dylib: No such file or directory
g++.exe: unrecognized option `-single_module'
と出力されます。
これの解決方法がわかりません。ご教授ください。
126デフォルトの名無しさん:2008/12/24(水) 06:21:46
ちゃんと英語読んだか?
まさか本文無視してコマンドだけ入力したなんてアホなことはしてないよな
その記事には「libtoolを入れんとlibxls.0.dylibが見つからんで失敗するでェ」
と書いてあるぞ?
(特にmainC.cのコンパイルで失敗すると書いてあるが、
お前はそこの情報すら省いて恣意的にエラーメッセージを切り貼りしてやがる)
127125:2008/12/24(水) 08:37:54
>>126
すいません、急いで書いて、情報が少なすぎました。
一応最新のlibtoolを入れろと言ってるのだと解釈して、
libtool-2.2.6aをインストールして実行した結果です。
128デフォルトの名無しさん:2008/12/24(水) 10:54:28
MinGW + MSYSのインストール方法
http://www.geocities.jp/katayama_hirofumi_mz/win32/mingw.htm
129デフォルトの名無しさん:2008/12/24(水) 21:19:02
>>128
もちろんこのようなインストールはしてるんですが
130デフォルトの名無しさん:2009/01/05(月) 10:09:24
gcc 4.4っていつ出るの?
131デフォルトの名無しさん:2009/01/05(月) 10:31:35
ここで不確かな情報得るより、公式行けばいいんじゃね?
132デフォルトの名無しさん:2009/01/14(水) 18:20:33
mingw-w64が腐ってる
133デフォルトの名無しさん:2009/01/14(水) 18:32:40
不具合報告を一切しない屑は黙って使ってなさい
134デフォルトの名無しさん:2009/01/14(水) 19:48:51
不具合報告をするとボコボコに叩かれるやん
135デフォルトの名無しさん:2009/01/14(水) 21:27:23
>>132
ほとんどの場合、腐ってるのは自分自身です
136デフォルトの名無しさん:2009/01/18(日) 10:54:43
ほらね
137デフォルトの名無しさん:2009/01/18(日) 11:00:07
不具合報告というのは、

どういう環境で
どういうことをしたら
どういう不具合が出た

ということを書くのであって、

は不具合報告ではない。
138デフォルトの名無しさん:2009/01/18(日) 12:00:22
不具合報告する前から叩かれてるw
googleが直そうと企画しなければwin版死んでたな
139デフォルトの名無しさん:2009/01/18(日) 13:55:51
vista64上のcygwin-Xでemacs (Xemacsじゃないほう)が動いている人います?
ググるとdllが不足していてもメッセージが出ずに固まるというところまではわかりました。
不足しているdllってのが見つかったサイトによってまちまちだったので、
emacs.exeをdependency walkerに放り込んで、使っているdllを調べて、足りないものを全部入れたのに動きません。
140デフォルトの名無しさん:2009/01/21(水) 00:08:05
MinGWで、コンパイル時に改行コードをLFに指定するにはどうすればいいでしょうか?
既定ではどうもCR+LFになっているようで。
141デフォルトの名無しさん:2009/01/21(水) 01:25:58
>>140
何の改行コード?
142迷える中年牛:2009/01/23(金) 11:01:43
私は、mkvtoolnix-2.4.2をWindowsXpProSp3にインストールした
cygwinでmakeしようとしました。
mkvtoolnix-2.4.2に含まれていた「README.Windows.txt」を
参考にして必要なライブラリーはmakeとmake installは出来ました。
しかし、肝心なmkvtoolnix-2.4.2のmakeで以下の様にコンパイル
エラーが発生してしまいます。
ーーーー
CXX src/merge/mkvmerge.cpp
In file included from /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/deque:71,
from /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/stack:70,
from src/common/mm_io.h:20,
from src/common/chapters.h:22,
from src/merge/mkvmerge.cpp:46:
/usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/stl_deque.h: In member function `void std::_Deque_base<_Tp, _Alloc>::_M_initialize_map(size_t)':
/usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/stl_deque.h:446: error: expected unqualified-id before '(' token
以下省略
同じ内容のエラーが以下のファイルでも発生しています。
/usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/deque.tcc:
ーーーー
グーグル先生に聞いたところ、同じ様なエラーはマクロで「max」や「min」を
定義したときに発生する場合が有るようですが、私には見つけられなかったです。

どこをチェックすべきなのかのヒントでも頂ければと思い書き込みしました。
どうぞ、よろしくお願いします。

143デフォルトの名無しさん:2009/01/23(金) 15:36:14
自分がコピペしたエラーメッセージを、穴が開くくらい良〜〜〜く見ろや
144迷える中年牛:2009/01/24(土) 17:52:13
>>143
アドバイスありがとうございました。
頭を冷やして見直しました。
エラーの発生場所が標準のライブラリーの中の為に、
ライブラリーは正しいと思いました。
これは「mkvtoolnix-2.4.2」の中にエラーの引き金となる
「max」のマクロがあると考えて検索したが見つけられなかったです。
そこで、アドバイスにしたがって標準のライブラリーの
「stl_deque.h」の446行を見たところ、「std::max」の記述がありました。
結局、<windows.h>をインクルードするとmin,maxマクロが定義される
為にエラーを引き起こしたようです。

今回は、「#include <windows.h>
」の前に「#define NOMINMAX
」の行を
追加してエラーを回避できました。
ありがとうございました。
145デフォルトの名無しさん:2009/01/24(土) 17:58:48
迷える中年牛が1つレベルアップしました。
146デフォルトの名無しさん:2009/02/01(日) 22:16:42
質問させてください。
MinGWインストールするとbinディレクトリにg++とmingw32-g++ と、g++コンパイラっぽいのが二つあるんですが、これってそれぞれどう違うんでしょうか??
147デフォルトの名無しさん:2009/02/01(日) 22:28:26
同じだよ。
短い名前、長い名前。違いはそれだけ。
148デフォルトの名無しさん:2009/02/01(日) 23:02:15
あ、そうなんですか。だったらエイリアスとして最初に設定されるようにしておけばいいのに・・
ありがとうございましたm(_ _)m
149デフォルトの名無しさん:2009/02/01(日) 23:49:55
Windows ではシンボリックリンクが無いからな。
この場合はジャンクションでかわりになりそうな気もするけど、
シンボリックリンクとジャンクションは完全に同じわけでは無いし。
色々と事情はあるんだろう。
150デフォルトの名無しさん:2009/02/02(月) 00:04:03
gccが使ってるのはハードリンクだし、NTは昔からハードリンクをサポートしてる。
151デフォルトの名無しさん:2009/02/02(月) 00:10:50
OSっつーかファイルシステムだよな
NTFS前提
152デフォルトの名無しさん:2009/02/02(月) 00:11:10
更に脱線すると、Vistaからシンボリックリンクがサポートされてる。
153デフォルトの名無しさん:2009/02/02(月) 00:51:02
シンボリックリンクできるけど、mklinkがcmdの内部コマンド?なのか、
cygwinやmsysじゃ使えないんだよね。
わざわざcmd起動してリンク作ってるけど。
154デフォルトの名無しさん:2009/02/02(月) 22:07:53
内部コマンドだよ
mklink.exeなんて記事書いて飯喰ってるのも居るがな
155デフォルトの名無しさん:2009/02/09(月) 09:57:53
Cコンパイラのライブラリの仕様ってどこで調べられますか?
156デフォルトの名無しさん:2009/02/09(月) 11:33:11
>>155
そのライブラリの仕様書・マニュアルなど。
157デフォルトの名無しさん:2009/02/09(月) 13:25:21
GCCの場合それはどこで手に入りますか?
158デフォルトの名無しさん:2009/02/09(月) 13:52:44
インターネット
159デフォルトの名無しさん:2009/02/09(月) 14:05:25
インターネットのどこのサイトでしょうか?
160デフォルトの名無しさん:2009/02/09(月) 14:20:34
161デフォルトの名無しさん:2009/02/09(月) 14:38:51
どうもありがとうございました
162デフォルトの名無しさん:2009/02/09(月) 19:38:17
>>157
使っているライブラリによって異なる。
たとえばGCC自身はprintf()の実装は提供してない。UNIX上で使っている
ならそのOSのマニュアルだし、MingwだったらMicrosoftのサイトを見る
べき。
163デフォルトの名無しさん:2009/02/10(火) 02:44:36
XPで使ってたCygwin+MinGWの環境をそのままWin7に持ってきたんですが
gitとかpatchとかコマンドが全然動きません。
どうしたらいいんですかこれ…
164デフォルトの名無しさん:2009/02/10(火) 12:03:09
>>163
なんかエラーが出るの?
165デフォルトの名無しさん:2009/02/10(火) 13:51:08
Pathを通して無いだけじゃないの
つか、βのWin7の事までしらねーよ
166デフォルトの名無しさん:2009/02/10(火) 14:24:45
どうしたらいいかと言えば、自分の作業に問題が無いか見直し、それでもだめだと確信できるなら、
問題を切り分けて、Windows 7 βのフィードバックを入れるか、
CygwinかMinGWにバグ報告を送りつけるかに決まっているだろう。
167デフォルトの名無しさん:2009/02/10(火) 14:33:59
レジストリにあるマウント情報とかも当然移動したんだよな
168デフォルトの名無しさん:2009/02/10(火) 15:22:37
ttp://bitwalk.hp.infoseek.co.jp/
を参考にLinux(Fedora10)にMinGWのビルド環境を構築しているのですが
gcc(configure --target=i386-mingw32)のmakeに失敗します
binutilsは2.19、gccは3.4.6です

Linux上でMinGWのクロスコンパイル環境の構築に成功している人はいますか?
他に何か必要な物とかあったら教えてください。よろしくお願いします
169デフォルトの名無しさん:2009/02/10(火) 16:24:06
>>168
F10なら、mingw32のパッケージがyumでインストール出来るよ。
170デフォルトの名無しさん:2009/02/18(水) 02:25:46
msysで足りないコマンド類は基本的にcygwinから引っ張ってくるものなんですか?
171デフォルトの名無しさん:2009/02/18(水) 02:35:26
cygwin1.dllに依存してるのはそのままじゃ使えないと思う。
172デフォルトの名無しさん:2009/02/18(水) 02:44:41
>>170
基本的にはmsysでsourceからbuildするものだけど、pathやバージョン古くて通らないのも沢山ある。
そういう時は、cygwinか、coLinux等でcross compile環境を作ってbuildする。
MSYS-bashのpath周りをもっと柔軟にすれば、通りやすくなるのかもねえ
173デフォルトの名無しさん:2009/02/20(金) 16:42:04
g++ (GCC) 3.4.5 (mingw-vista special r3)
new が argc 直前のアドレス取りやがるんですが
私はどんな壊し方をしたのでしょう?

174173:2009/02/20(金) 17:15:26
×argc → ○argv 直前のアドレス
175デフォルトの名無しさん:2009/02/20(金) 18:15:29
意味がわからん
176デフォルトの名無しさん:2009/02/20(金) 18:27:32
main (int argc,char **argv){
int* buf = new int [100];
 ↓ が何故か
int* buf =new ( argv - 1) int [100];
177デフォルトの名無しさん:2009/02/20(金) 21:58:33
>>176
「が何故か」ってそれをどうやって確認したの?
178デフォルトの名無しさん:2009/02/21(土) 00:30:12
無料なのでMinGWでウィンドウズのアプリを作るのを勉強しようとしたら説明してるサイトが見つからない。
これはどうしてなのでしょうか?
MinGWのインストールやコンパイルを説明してるサイトは沢山あります。
MinGWはインストールして他人のソースをコンパイルして満足するだけのもののような感じを受けます。
179デフォルトの名無しさん:2009/02/21(土) 01:25:09
なぜならMinGWでもVisual C++でもBorand C++でもWindowsアプリの作り方は同じだから。
MinGWの解説をしているとこは、MinGW特有の部分の解説に徹しているだけのこと。
180デフォルトの名無しさん:2009/02/21(土) 01:27:23
倍精度の浮動小数点演算を多用する、レイトレーサの一種を書いてます。
VC++ 2008 Express Edition と icc 9.0 では問題なく動作するのに、
MinGW の GCC だと計算結果がおかしくなります(レイが想定外の場所に
飛んでいってしまう)。GCC の3つのバージョンを試しましたが変化なし。
gcc version 3.2.3 (mingw special 20030504-1)
gcc version 3.4.5 (mingw-vista special r3)
gcc version 4.3.0 20080305 (alpha-testing) mingw-20080502 (GCC)
実行環境は XP SP3 です。何かちょっとしたことを忘れている気がするん
ですが、アドバイスをいただけませんか。よろしくお願いいたします。

>>178
基本的に VC++ やなんかと同じ要領で Win32 API を使ってアプリからでは。
Win32 API を使ったプログラミングは情報がたくさんありますよね。
Unix 環境のつもりでプログラムを書き始めるとライブラリ関数があれも
これも無くて泣きを見ます。例えば
・GUI は Win32 API で手書きするか Win32 環境で使えるツールキットを使う。
・gettimeofday() が無いので計時には Win32 の QueryPerformanceFrequency(),
QueryPerformanceCounter() を使う。
・共有ライブラリの動的リンクは dlopen() ではなく LoadLibrary() でやる。
・OpenGL を使うには Win32 固有の wgl 関数群を用いる。
・Win32 に移植された pthread ライブラリを使うのでなければ
pthread_create(), pthread_mutex_init(), pthread_mutex_lock() ではなく
CreateThread(), CreateMutex(), WaitForSingleObject() を使わないといけない。
といった具合です。Win32 環境のつもりで情報を集めるとよろしいかと。
181デフォルトの名無しさん:2009/02/21(土) 01:49:43
>>180
そこまでするならまずはCygwin使えよ。
というのはともかく、178はUnixから来たのではなく
本当にここから始めようとしているように思った。
182デフォルトの名無しさん:2009/02/21(土) 01:53:52
ここで、VC++ Express(無料)を薦めるのはなしか
183デフォルトの名無しさん:2009/02/21(土) 02:09:27
184デフォルトの名無しさん:2009/02/21(土) 02:35:43
>>183
レスありがとうございます。
このスレの Part 3 で _controlfp のことを教えていただいたのは私です。
カキコの直後まで失念しておりました。
_controlfp(_PC_64, _MCW_PC) だと GCC と ICC では NG、VC++ では OK で
_controlfp(_PC_53, _MCW_PC) だと3つのコンパイラすべてで OK でした。
また髪の毛が減ってしまいました。本当にありがとうございました。
185デフォルトの名無しさん:2009/02/21(土) 03:00:03
個人的な感想ですけどVC2008EEはなかなか良かったよ。
この茨の道を突き進むよりも初心者はVCのほうがいいと思われ。
186デフォルトの名無しさん:2009/02/21(土) 04:16:44
>>184
あの思うですけど、そこまでしてネイティブ・コンパイラにこだわる意味はあるんですか?
たぶん良くあるプログラミングの落とし穴だと思うんですが、
計算のロジック部分はジャバやCシャープにして、描画やレンダリングのところだけネイティブ(Cコンパイラ)にすれば、髪の毛もフサフサのままですよ。
もしCやフォートランしか知らないというなら、あなたの勉強不足が原因なので自業自得なんですけど。
187デフォルトの名無しさん:2009/02/21(土) 04:35:25
>>185
んだな
多少操作やアプリ依存の用語を覚える必要はあるが、
理解度や開発効率を考えると初心者はあれでおk

なのに、何で某ランドがいまだにはびこっているのかw
mingw等はマルチを意識すると選択肢として出てくるが、
某ランドは選ぶ理由がさっぱりわからん

>>186
用途が逆な気がするが・・・
188デフォルトの名無しさん:2009/02/21(土) 04:53:02
>>187
だよなぁ俺も逆だと思うよ
189デフォルトの名無しさん:2009/02/21(土) 05:04:17
仮想マシンが手軽になってからは、個人的にはmingwの出番が減ったな
190デフォルトの名無しさん:2009/02/21(土) 05:08:45
そうか?
ウェブアプリとかビジネスロジックといわれる部分は、ハード特有じゃないのでジャバとかのほうが向いてると思うんだが・・
逆にダイレクトXとかネットワーク・メッセージ機構の言語外(ハード部分)はMSとかジャバでもいいけど、例えばジャバに「ウインドウのハンドルを取得するAPI」が用意されてないと結局ネイティブAPIを使うから、ネイティブ向けのコンパイラが必要になってくる。

というか、そこまで計算のロジック(アルゴリズム)を速くしてこだわってるなら、一つのコンパイラに徹するべきであって、GCC使ってみたりBCCやICC使って浮気する必要はないと思うんだけどなあ。
やってみれば分かると思うけど、結局早くて効率的なロジックをフォートランとかICCで実装したところで、ウインドウズならDLL呼び出し関数呼び出しのコストで相殺されるからあまり関係なくなるんだけど。
どういうの作ってるかわからないけど、PC並に複雑な機構のOSだと、そもそもロジックが速いとか、プリミティブ型(double)の演算誤差がどうとかあまり関係ないんじゃない?
191デフォルトの名無しさん:2009/02/21(土) 05:19:31
レイトレを書いてるらしいから、数値計算メインで
DLL呼び出し関数呼び出しのコストはほとんど無いような
思いっきりネイティブ向けの希ガス
192デフォルトの名無しさん:2009/02/21(土) 05:53:25
レイトレはやったことないけど、そのロジックをストリーミング用のプログラミング手法(GPUとかCELL)に持ち込めれば、100倍ぐらい速くなるんじゃないか?
昔のままネイティブAPI(OSコール)てんこもりでソースもforとifだらけってのでも別にいいけど、画像解析じゃなくてただのレンダリングだし、そういうプログラミング・スタイルはもう流行らないと思う。
どっちにしてもネイティブ・コンパイラ使ってるくせに気軽に浮気するような素人じゃろくなもんじゃないだろうけど。
193デフォルトの名無しさん:2009/02/21(土) 07:45:25
ここ10スレ位の書き込みは酷いな。

複数のコンパイラを通すのは、移植性やソースをクリーニングする為の超基本。
限られた精度の計算とloopが主なレイトレで、javaとかfortranて何のネタ?
borlandは1番parserの出来が良いので、初心者の多い2ちゃんではお薦め。

windowsのgccにもgettimeofdayはある。ぐぐって出てくるし、
unofficialな自宅の4.3.3でも通った。
iccは知らないけど、VCってdefaultでSSE使って無かったっけ?
俺なら計算結果をファイル出力してdiffするけど。
ところでsjljなgccでレイトレって凄く遅くない?Dwarf2も試そうよ。
libraryコンパイルし直すのに少し苦労するけど。
194デフォルトの名無しさん:2009/02/21(土) 09:39:57
確かにbccは警告が(他と比べて)適切という印象はある。
195デフォルトの名無しさん:2009/02/21(土) 10:43:04
ISO−Cに準拠したいのか、よりネイティブ向けに特化したプログラムを作って速度や効率を稼ぎたいのか、君は何をやりたいのか意味不明。
超基本は、ISO−Cに準拠して君の満足であるかどうかではなくて、仕様や要求を満たしたプログラムであるかどうかじゃないか?
それこそ計算部分のロジックとネイティブのハード部分を分離するような設計(使用)をすることのほうが基本だと思うが、どうだろう。
昔から構造化プログラム(モジュール化)やオブジェクト指向など方法論があるわけで、
君の主張するプログラミングスタイル(複数のコンパイラを通すだと?!)はまったく流行らないと思うが?
君のような宗教観では、どうでもいいところに神経使ってばかりで、さらに髪の毛をなくしていくんだろうけどw
196デフォルトの名無しさん:2009/02/21(土) 10:49:24
何だか急に芳ばしくなってきましたね。
197デフォルトの名無しさん:2009/02/21(土) 11:03:33
>>193
ソースで配布するんですか?
windowsだとハードが常に進化するんで、そのときのハードにあったAPI(DirectXなど)を使い、
そのプログラムに一番最適なコンパイラ(Cに限らない)を使ってDLLなどのバイナリで配布する方式の方が受けると思うんですけど・・・
198デフォルトの名無しさん:2009/02/21(土) 11:07:36
>>193
もしかして「Javaは遅い」とかを信じちゃってるJIT以前のオジサン?w
199デフォルトの名無しさん:2009/02/21(土) 12:52:03
JAVAがどれだけ速くなってもC以下なのは変わらないだろ。
200デフォルトの名無しさん:2009/02/21(土) 14:30:17
>>199
実行時コンパイルだからこそできる最適化というのもあるんだよ。
まー、たいていはCの方が速いけど。

201デフォルトの名無しさん:2009/02/21(土) 14:51:50
そのプルグラムが実行時のハード構成SSEなどに合わせて動的にコンパイル(JIT)されるようになればそうともいえないんじゃない?
202デフォルトの名無しさん:2009/02/21(土) 17:09:22
>>201
それはいったい何年後の話だ?
203デフォルトの名無しさん:2009/02/21(土) 18:27:33
>>200
実行時にコンパイルすると、どこがC(アセンブラ)より速くなるの?
204デフォルトの名無しさん:2009/02/21(土) 18:30:56
MS謹製CLI戦略は将来の自動並列化でJavaに置いて行かれるのを恐れた為なんだぜ?
205デフォルトの名無しさん:2009/02/21(土) 18:33:01
ハードウェアの構成にあわせてアセンブルしてくれたほうが断然早いね(笑)
206デフォルトの名無しさん:2009/02/21(土) 18:55:35
香ばしい流れ
207178:2009/02/21(土) 19:01:52
>>179-187
レスありがとうございます。
Unixはほとんど知らないからMinGWを使う利点はあまりないないのかな。
MinGWも同じということはWinMain()とかで組めるのかな?
でもwindowsのアプリを作るにはVC2008EEがよさそうですね。
そうします。おじゃましました。
208デフォルトの名無しさん:2009/02/21(土) 19:21:36
1年前のJava6u10でこのくらい。まだ先は長い。
ttp://d.hatena.ne.jp/kkawa/20080330/p1
209デフォルトの名無しさん:2009/02/21(土) 20:05:47
>>207
MinGWはあくまでビルド環境でしかないよ
俺は基本VC++EEで管理&コーディングして、ビルドはどちらでもできるようにしてる
どちらにしろリソースエディタは別に必要だし
210デフォルトの名無しさん:2009/02/21(土) 21:31:14
レイトレなんて生成終了までAPIなんてほぼ関係なくて、ひたすら演算だけじゃん
環境依存部分をネイティブで個別実装するのがいいとか、きちg(ry
なんか、レイトレ→3DCG→DirectXとか思ってそう

あとGPGPUでレイトレすればいいって環境を選びすぎるし、
もしレイトレの学習が目的なら、不純物が増えて意味ないだろ

これは……釣られたのか!?
211デフォルトの名無しさん:2009/02/21(土) 22:08:18
ジャバと書いてるだけで正直胡散臭いし
長文な上に、どの主張も「だと思うんだけどなあ」「じゃない?」とか
曖昧な表現で逃げてる時点で、な
212デフォルトの名無しさん:2009/02/21(土) 22:08:42
演算の途中経過とかをリアルタイムに見たいんじゃないの?
標準的な画像や動画フォーマットに出せばAPIはいらんよなぁ,確かに
213デフォルトの名無しさん:2009/02/22(日) 01:19:53
>>208
コウスケちゃんのブログなんてあったんだw
さすがに日本人ハッカーだね
214デフォルトの名無しさん:2009/02/22(日) 01:28:20
>>210
>なんか、レイトレ→3DCG→DirectXとか思ってそう

この流れは3Dであってレンダリングと関係ないと思うんだが。
DirectXを未だにゲーム用のAPIとか考えちゃってるの?
ひたすら演算だけでネイティブに依存する必要がないなら、ジャヴァとかC#でいいんでない?
なのにどうしてこだわるんだろう。どうせスピードを求める君のポリシー(笑)なんだろうけど。
215デフォルトの名無しさん:2009/02/22(日) 01:44:31
なんで演算メインでJavaやC#使うんだよ?バカなの?死ぬの?
216デフォルトの名無しさん:2009/02/22(日) 03:24:01
ちょっと待て、偽者が混じって楽しんでるだろ、おいw
217デフォルトの名無しさん:2009/02/22(日) 09:17:22
その前に本物ってどれ?
246みたいなのは本気で言ってるの?
なんでこんなのがtech板に居るの?
218デフォルトの名無しさん:2009/02/22(日) 09:45:52
コンパイラぐらい金出して買えよ
いつまでもオープンソースにいると髪の毛なくなっちゃうぞ
219デフォルトの名無しさん:2009/02/22(日) 11:10:04
>>246がどんなことをマジで言うのか期待
220デフォルトの名無しさん:2009/02/22(日) 12:19:20
>>219
何言ってんの???
221デフォルトの名無しさん:2009/02/22(日) 12:44:03
少しは考える力をつけろ。
222デフォルトの名無しさん:2009/02/22(日) 14:09:21
>>218
オープンソースと髪の毛は関係性が薄い
ツーカ、オプソ界にいるやつはみんなフッサールだ
問題なのはヒゲ
223デフォルトの名無しさん:2009/02/22(日) 15:55:33
>>218
オープンソース以下のコンパイラが多すぎるからなあ
224デフォルトの名無しさん:2009/02/23(月) 04:58:13
オープンソースのコンパイラは実質GCCのみじゃないの?何と比べてるかわからんが、糞はお前w
225デフォルトの名無しさん:2009/02/23(月) 06:37:55
オープンソースなコンパイラはそれなりにあるが、
実質gccのスレなので、gccと仮定しても、クソという
理由が見いだせない。この意味不明な論理展開を行う
>>224には、VIPがお似合いだろう。これは224の
書き込み時間からも、容易に想定可能である。
226デフォルトの名無しさん:2009/02/23(月) 07:09:15
>>225
はいはい。能書きはそれぐらいにして早いところVIP板へ行ってくらはい
227デフォルトの名無しさん:2009/02/23(月) 07:59:06
結局なんの説明も出来ない無職か
228デフォルトの名無しさん:2009/02/23(月) 08:05:03
>>224って>>218?
まずはgccより高機能な市販コンパイラを出して貰いたい
229デフォルトの名無しさん:2009/02/23(月) 08:33:24
cygwinってCPU強化したら速くなんの?
configureが遅すぎて泣ける
230デフォルトの名無しさん:2009/02/23(月) 08:42:41
手持ちのCentOS4やUbuntuと、大差ない気がしたんだけど、
大きなファイルなら差が出るのかな。差があるとしたら
I/Oまわりだろうねえ
231デフォルトの名無しさん:2009/02/24(火) 23:21:31
>229
configure が遅い理由は cygwin 特有のプロセス起動とファイル I/O にかかる種々の変換だとか前処理の
コストだと思うんで、速くはなるだろう。
232デフォルトの名無しさん:2009/02/25(水) 12:27:11
cygwinのファイルI/Oは遅いよ。ストリームI/Oをバッファ入出力の段階でシミュレートするのではなく
関数レベルでシミュレートしているようで、fgetc()をループで回すだけでも結構差が出る。

>>228
iccは高性能だけど、高機能と言うのはどういう尺度?
gccを否定する気はさらさらないけれど、最近のx86系CPUを使いこなすには力不足なのは否めない。
233デフォルトの名無しさん:2009/02/25(水) 13:04:58
msysをつかえばいいじゃない。
大概のことはmsysでカタがつくでしょ。
234デフォルトの名無しさん:2009/02/25(水) 13:10:53
msysはメモリーリークが酷いから嫌
235デフォルトの名無しさん:2009/02/25(水) 14:02:34
>>234
kwsk
236デフォルトの名無しさん:2009/02/25(水) 21:06:45
>>234がお漏らしプログラム作ってるだけっていう落ち
237デフォルトの名無しさん:2009/02/25(水) 21:21:24
リークと違うけど、Qt4コンパイルしてて、なんのエラーも
出てないのに、mingw32-makeがエラーで止まる事ならあった。
Dwarf2でbuildしたgcc4.3.3が原因の可能性も高いが。
ああ、msys全然関係無かったねw
238デフォルトの名無しさん:2009/02/25(水) 21:53:46
Qt4はメモリ4Gあろうがページファイル1G以上用意しないと確実にこけるね
239デフォルトの名無しさん:2009/03/01(日) 01:00:40
MSYS+MinGWでMKVtoolnixコンパイルしてて、動くバイナリはできんたんだけどちょっと気になってることがある。
公式で配布されてるバイナリにはregex2.dllがあるけど、自分のにはない。
何かのライブラリがスタティックリンクになってるんだろうけどどれかわからない。
名前からして正規表現だろうからboostかと思ったけどlink=sharedにしてコンパイルしてもそんなdllない。
何のライブラリか教えてください。
240デフォルトの名無しさん:2009/03/01(日) 05:04:14
241デフォルトの名無しさん:2009/03/01(日) 11:27:42
APIを使わないDLL遅延バインドのやり方がわからん。
242デフォルトの名無しさん:2009/03/01(日) 18:42:21
>>240
d
でもこれ突っ込んでもやっぱりregex2.dllは使われないな。何でだろう…
243デフォルトの名無しさん:2009/03/01(日) 21:25:45
>>241
なぜAPIを使うのがいやなの?
244239:2009/03/02(月) 01:36:26
公式のバイナリをDependency Walkerで調べてやっとわかった。
libmagicの依存ファイルだったのか。
libmagicはうまくコンパイルできなかったらバイナリ取ってきてたからそのせいか。
245デフォルトの名無しさん:2009/03/05(木) 18:41:39
ちょっと前に

「gccの4.x.x系は3.4.5よりもWindows環境への対応が悪い」

と聞いんだが、未だに悪いの?
俺が興味あるのはg++だけだが、g++に限ってもそう?。

246デフォルトの名無しさん:2009/03/06(金) 05:19:57
何をして対応が悪いといっているのか不明なのでなんとも・・・
247デフォルトの名無しさん:2009/03/06(金) 11:34:41
MinGW
http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=24963&release_id=46827

ここから src 以外の tar を全部ダウンロードしたんでしけど、
解凍したら同じ名前のファイルが重複しているんです。
たとえば bin/bash.exe なら
bash-3.1-MSYS-1.0.11-1.tar.bz2    bash.exe 607,744 バイト
msysCORE-1.0.11-20080826.tar.gz  bash.exe 911,646 バイト
の両方に入っています。
いったいどちらの bash.exe を取ればいいのでしょう?
ほかにも tar.exe などなど、重複がいっぱいあります。
どれを入れればいいんですか?
ヒヨコのオスメスみたいに、ひとつひとつ手作業で選別せにゃいかんのですか?
248デフォルトの名無しさん:2009/03/06(金) 11:46:55
バージョン1.0.11

バージョン1.0.11-1
のサイズが違うと何か問題ある?
249デフォルトの名無しさん:2009/03/06(金) 12:33:53
知らないならレスしないでください
250デフォルトの名無しさん:2009/03/06(金) 13:32:28
だから、リリースバージョンが違うものなんだから、中身が違って当然だろうが。
これで意味が通じなかったら、Technological Previewバージョンを各ソフトごとにとってくるなんてやめて、
おとなしく安定バージョンをパッケージで入れろ。
251デフォルトの名無しさん:2009/03/06(金) 13:35:06
だから知らないならレスしないでください
252デフォルトの名無しさん:2009/03/06(金) 13:35:57
ほかに誰か知ってる人はいませんか?
253デフォルトの名無しさん:2009/03/06(金) 14:06:09
>>251, 252
くだらない悪ふざけはν速にでも行ってやれや。
254デフォルトの名無しさん:2009/03/06(金) 15:32:21
質問: どちらが新しいんですか?
答え: サイズが違うと何か問題ある?

頭おかしいの?
255デフォルトの名無しさん:2009/03/06(金) 15:45:13
だから、リリースバージョンの見方もわからんバカは
安定版のパッケージを入れろよ。
バージョンわからん奴がTechnological Previewをいれて何の役に立つんだよ。
256デフォルトの名無しさん:2009/03/06(金) 16:18:23
>>254
とっとと失せろ、ゴミクズ
257デフォルトの名無しさん:2009/03/06(金) 17:47:47
ニートタイムに喚くなよ
見苦しいな
258デフォルトの名無しさん:2009/03/06(金) 18:21:19
で?
けっきょく、どれが新しいかわからないんだろ?
知らないならレスすんなよ。
あんたに質問したんじゃねーーーーーーーよw
259デフォルトの名無しさん:2009/03/06(金) 19:01:39
ファイルの日付も読めない奴に使える訳もないな
260デフォルトの名無しさん:2009/03/06(金) 19:39:43
>>258
瞬時にリリースバージョンくらいわかりますが、何か?
バージョンを読みとってるからこそ>>248なのだが。
お前は、自分が書いたものと248をみてもまだ理解できないわけだろ?
だから>>250の安定版を入れろと言うことなんだが。

Technological Previewってのは人柱用なんだぜ。
なぜあえてこれを入れたいんだ?
バカだからか?
261デフォルトの名無しさん:2009/03/06(金) 20:21:43
わかったわかった。俺が悪かった。ここはひとつ、俺がオトナになろう。

で、リリースバージョンの見方をおしえてください。おねがいします。
262デフォルトの名無しさん:2009/03/06(金) 20:23:22
事情を説明いたしますと、
安定版が安定しないから、試しに全部新しいのにしてみようと思っただけです。
それで安定するか、しないか、検証してみるだけです。
「問題の切り分け」 を死体のです。
263デフォルトの名無しさん:2009/03/06(金) 20:33:45
>>261
逆に煽り返されたりして、出来もしないくせに下手なことしないほうがいいよなぁ
264デフォルトの名無しさん:2009/03/06(金) 20:46:50
>>262
おとなしくVC++いっとけ
265デフォルトの名無しさん:2009/03/06(金) 20:55:24
ぜんぶ 1.0.11 なので、どれが新しいのかわかりません。
でも確実に、中身が違うんです。
266デフォルトの名無しさん:2009/03/06(金) 21:03:19
すこし分かりかけてきた

1.0.11-1
1.0.11-20080826

これのどっちが新しいか。それさえ分かれば・・・
1 と 20080826 って、どっちが新しいんですか?
267デフォルトの名無しさん:2009/03/06(金) 21:14:49
なんか迷宮に迷い込んでいるような気がするなぁ・・・
問題の切り分けをするのであれば、安定版のどの部分が安定
しないのか切り分けるのが先では無いだろうか。
全部最新版に差し替えて安定したところで、どの部分が問題
だったかは結局分からないのでは。
268デフォルトの名無しさん:2009/03/06(金) 21:20:20
パッケージとバラを同じ項目においておきながら、
バラの方が古いなんてアホな管理をするやつがいるとも思えんが。
269デフォルトの名無しさん:2009/03/06(金) 23:37:06
つーかさ、不安定があるのなら、どういう不安定なのか書けよな〜
他のユーザーのためにもなる。
270デフォルトの名無しさん:2009/03/07(土) 00:07:40
俺は MSYS のデバッグしてんじゃねぇぞ。
どの部分が問題だったかは結局分からなくても
安定して使えさえすればOKなんだよ。
271デフォルトの名無しさん:2009/03/07(土) 00:43:26
>>270
だからよぉ、他人にもどう不安定か情報出せよ。
自分だけ情報を得られたらそれで桶かよ。
マサにカスだな
272デフォルトの名無しさん:2009/03/07(土) 00:46:02
>>270
問題の切り分けをしたいとか言いながらちゃぶ台ひっくり返すし、
ここまでMSYSが問題なんだとは一言も話をしていないし、
しかも大人のふりしたと思ったらまた退行しているし。
273デフォルトの名無しさん:2009/03/07(土) 01:34:15
>>271-272
ゴミの相手するなよ
274デフォルトの名無しさん:2009/03/07(土) 01:48:09
新しいのと古いのと見分け方を聞きたかっただけなんだが・・・
275デフォルトの名無しさん:2009/03/07(土) 01:48:41
もったいぶらずに教エロ
276デフォルトの名無しさん:2009/03/07(土) 11:16:12
277デフォルトの名無しさん:2009/03/07(土) 14:50:19
>>276
ありがとうございます。おかげさまで解ケツしました。
278デフォルトの名無しさん:2009/03/13(金) 22:53:09
g++ってワイド文字列環境はまともになってる?

g++ (GCC) 3.4.5だと、
std::wcoutって何だか分かりません見たことも聞いたこともありません
的なコンパイルエラーがでちゃうんだよね。
279デフォルトの名無しさん:2009/03/14(土) 01:43:37
>>278
今は無理。まともにサポートできる見通しが立たないから宣言自体が無効化されてる。

今公開テスト中の Cygwin 1.7 には wchar_t 関連の C 標準関数がひととおり実装されてるんで、
その上で動く g++ なら使えるようになるかもしれない。
280デフォルトの名無しさん:2009/03/14(土) 03:23:49
>>278
この4.3.3使え
ttp://www.tdragon.net/
281デフォルトの名無しさん:2009/03/14(土) 08:30:19
そもそも何でMinGWって最新のGCCを同梱してないの?

>>279
ふーん、まだダメダメなのか。残念だ。

>>280
TDM/MinGW Installer
1.902.0
Released 2009-02-28 Bundled Installer: [tdm-mingw-1.902.0-f1.exe] (23.8 MB)
Includes C and C++ SJLJ packages from GCC 4.3.3 TDM-1, plus binutils (2.19.1), mingw-runtime (3.15.2),
w32api (3.13), mingw32-make (3.81-20080326-3) and gdb (6.8-mingw-3).
ってやつか?すげぇなコレ。
いわゆる人柱版ってことかな?
282デフォルトの名無しさん:2009/03/14(土) 17:36:13
UNIX/Linux初心者です。
会社でfork/FIFOを使用した開発をやっていて家でもお勉強できるようにとCygwinインストールしました。
でもうまく動いてくれません。chi 3-25で、Device or resource busyが発生します。
Cygwinの仕様でしょうか?

// プロセス作成
p = fork();
if(p == -1) exit(1);
if(p > 0) {
sprintf(fname_p, "%s-%d-%d", FIFO, p,1);
}
if (p == 0) {
p = getpid();
//子側FIFO名前
sprintf(fname_c, "%s-%d-%d", FIFO, p,1);
//親側FIFOのメーク待ち
while(1){
if(access(fname_c, F_OK) == 0) break;
sleep(1);
}
//読み込みパイプ開
fifo_cr = open(fname_c, O_RDONLY);
if(fifo_cr == -1){
printf("chi 3-25 error open fifo\n",fname_c);
err_no = errno;
perror("err_no"); exit(6);
}

省略


283デフォルトの名無しさん:2009/03/14(土) 18:40:21
>282
質問の答えじゃないが、fork するんなら pipe(2) 使えばループで待つ必要もないんじゃないの?
284デフォルトの名無しさん:2009/03/14(土) 19:52:06
>>282
質問の答えじゃないが

printf("chi 3-25 error open fifo\n",fname_c);
err_no = errno;

これはダメだろう常識的に
285デフォルトの名無しさん:2009/03/17(火) 11:38:28
質問の答えじゃないが、popen()で事は足りないのかな?
286デフォルトの名無しさん:2009/03/22(日) 07:03:44
ファイルを先頭から順次読み込むプログラムで,
以下のようなものを書いたのですが,ファイルの途中なのにもかかわらずループを抜けてしまいます.
(どうも0x1Aを読み込んだときにbreakがかかるようです.)

for ( ; ; ){
c = fgetc(fp);
if (c == EOF)
break;
/*
省略
*/
}

Linux上のgcc(2.95.3)でコンパイルした場合は正常に動くのですが,
MinGW(5.1.4)だと前述したように,正常に動きません.(fgetcの仕様が違うのでしょうか)
とてもくだらない質問に思えて恐縮なのですが,解る方がいたら教えてください.
287デフォルトの名無しさん:2009/03/22(日) 07:55:26
fopenでtext modeでファイルを開くと、0x1aをEOF(=CP/Mの)と見なすから。
http://www.google.co.jp/search?q=fopen+EOF+0x1a
288デフォルトの名無しさん:2009/03/22(日) 07:56:24
mingwのライブラリはVC仕様なので
バイナリモードで開いてみては
fp = fopen( path, "rb" ); // こんな感じ?

# たしか Windows/DOS ではテキストモードで開くと 0x1a を
# EOF として扱う仕様だったような気がする
# unixはテキストモードはなし
289デフォルトの名無しさん:2009/03/22(日) 08:33:39
>>287-288
素早い返答ありがとうございます.
ご指摘のとおり,fopenのモード指定の問題でした.

VC系だとテキスト/バイナリの区別がある,というのを初めて知りました.
googleにもスバリ書いてあることだったようで,お恥ずかしい限りです.
290デフォルトの名無しさん:2009/03/22(日) 23:13:40
CygWinでgprofかけても時間情報が取れないのですがどうすればプロファイル取れる
でしょうか。
g++のコードのプロファイルが取れる方法よろしくです。gprofて最近は使われてない?
291デフォルトの名無しさん:2009/03/23(月) 05:44:56
gccのバージョンによって、gmonのフォーマットが途中で変わってるので、
gccかgprofのバージョンを変えてみると良いらしい。MinGWもgcc3.4.5と
手元のgprofとの組み合わせではダメで、gcc4.3.2や4.3.3では取れるなあ。
これは古いgprofを試さないといけないのかな。
292デフォルトの名無しさん:2009/03/25(水) 21:09:34
>>291
CygWin/g++でgprof以外にプロファイル取るすべあるでししょうか?
最近の人はどうやってプロファイル取ってるの?
293デフォルトの名無しさん:2009/03/25(水) 22:50:40
>>291
横レスだけど情報ありがとう。

古い MinGW の gcc 3.2.3 + gprof 2.13.90 だと OK で
比較的新しい gcc 3.4.5 + gprof 2.18.50 だと NG なんで困っていた。
MinGW の binutils-2.18.50 にはバグがあって gprof が正常に動作しないらしい。
http://www.nabble.com/gprof-time-accumulation-problem-td19125108.html
binutils-2.17.50 だと問題ないということなのでダウングレードして
gcc 3.4.5 と一緒に試したところ、正しく統計情報が取れるようになった。
294291:2009/03/26(木) 00:45:20
すっかり忘れてたけど、次の日動かしてみたら、MinGW 3.4.5とgprof 2.19、2.19.1での動作を確認した。
だから前回書いたことは、全くの見当違いでgprof 2.18.50だけの問題みたい。ごめんね

>>292
おそらくだけど、プロファイラ自体を使ってる人が少なく、使ってる人も自前で
gprofをbuildか、バージョンダウンしてる。
295デフォルトの名無しさん:2009/03/26(木) 07:02:43
まあ、わざわざMinGWでgprof使おうと思う人は少ないだろうなぁ。
296デフォルトの名無しさん:2009/03/27(金) 11:07:23
cygwin/mingwがターゲットになることは少ないので、gprofするのはLinux上になることが多いなぁ。私のところでは。
297デフォルトの名無しさん:2009/03/31(火) 03:34:28
test
298デフォルトの名無しさん:2009/04/03(金) 07:16:03
質問です。PC-98のMS-DOS上でDJGPPとNASMとBorland C++ 3.1Jでプログラムを
組んでますが、たとえばHello, World!を作ってもDJGPP(GCC v4.3.2)では異常に
実行ファイルのサイズが肥大化します。動作もBCCでコンパイルしたものより
重いです。

DJGPPのFAQによると、「DJGPP(DOS版GCC)はメモリモデルにflatを用いており、
プロテクトモードで4GBまでのメモリを扱えるようにしています」とのことなんですが、
これが原因ですか?ちなみにHELLO.EXEを実行するにしても、DPMIサーバ(cwsdpmi.exe)が
必要という糞仕様です。開発マシンはPC-9801DA2(80386 20MHz + Cyrix 387コプロ;
RAM 13.6MB; SCSI HDD 4.3GB; 緑電子SCSI-2ボード; NEC版MS-DOS 6.2)です。

HELLO.EXEのファイルサイズとコンパイル時間は
BCC = 6.6KB ; コンパイル時間 = 5秒
DJGPP = 44KB ; コンパイル時間 = 2分近く
NASM = 22Bytes ; コンパイル時間 = 3秒
(コンパイルオプションは、
A:\>bcc -ms -O2 hello.c
A:\>gcc -Wall -O2 -s -fomit-frame-pointer -o hello.exe hello.c
A:\>nasm -fbin -o hello.com hello.asm
です)

異常な事態です。これはDJGPP(GCC)の仕様なんでしょうか!ご教示ください。
ちなみに同機能をDOSファンクションコールAH=09Hでフルアッセンブル実装した
HELLO.COMはわずか22バイトですOrz K6-2 550MHz/64MB/18GBのX-Mateがあるんですが、
それでやっても処理系の差異は変わらないですよね?
299デフォルトの名無しさん:2009/04/03(金) 07:20:27
16bitコンパイラと32bitコンパイラで比較して何がしたいの?
300298:2009/04/03(金) 07:26:38
× X-Mate
○ X-MATE

どうしてもDJGPP(GCC4.3.2)だと44KB近くなってしまうようで、
三秒のウェイトを置くdelay機能も、GCCとBCCで同等のものがありますが、
BCC版は8KB程度、GCC版は48KBほどになり、気違いじみています。

やはりDOSファンクションコール AH=2CHでフルアッセンブル実装した
DELAY3K.COMは、ファイルサイズが22バイトでCPU負担も全くありません
(HELLO.COMは28バイトでしたすいません)。
Borland C++ v3.1Jは中古でオクで競って7千円で買ったので製品とはこういうものだと
いわれればそれまでですが、ちゃんとstripもしてるのに、これ以上はGCCは無理ですか!?
301デフォルトの名無しさん:2009/04/03(金) 07:39:15
たぶんこのスレにそんなマニアックなケース答えられる人はいないんじゃないかと。
302デフォルトの名無しさん:2009/04/03(金) 07:59:25
DPMIはDOSエクステンダの下請けに過ぎず
DJGPPのリンカはDOSエクステンダに相当するものをスタブとして取り込んでいるから出力ファイルが大きくなる
303デフォルトの名無しさん:2009/04/03(金) 08:08:37
go32.exeが組込まれるんだっけ
304デフォルトの名無しさん:2009/04/03(金) 08:09:50
他にも即値やディスプレースメントが32bitで大きくなったり、アラインメントが32bitになったりで
いくらでも16bitコードより大きくなる要素はある
305デフォルトの名無しさん:2009/04/03(金) 08:18:41
んなもん、gccのバイナリがデカのは今も昔も変わらん。
go32とか関係なく
vcとMingw gccではやはりバイナリサイズが全然違う。
306デフォルトの名無しさん:2009/04/03(金) 10:13:49
>>298
そんな過去の鈍足PCを今のPCと較べても、全く意味がありません。
それとも、クロック周波数の20MHzという意味が理解できませんか?
いずれにしても、鼬害です。レトロPC板にでもお帰りください。
307デフォルトの名無しさん:2009/04/03(金) 10:25:40
298 みたいな時空を超えた書き込みを
太鼓腹のオッサンがシコシコ打ちこんでると思うとキモイな
308デフォルトの名無しさん:2009/04/03(金) 10:41:15
同族嫌悪というやつですか?
309デフォルトの名無しさん:2009/04/03(金) 11:25:52
PC-9801にMS-DOSとはまた懐かしいものを出してくるなあ
310デフォルトの名無しさん:2009/04/03(金) 12:48:25
あんまり虐めてやるなよ
311デフォルトの名無しさん:2009/04/03(金) 14:54:36
古いものを好き好んで触るのは人の自由だと思うが
騒ぎ方がどうにもキチガイじみてキモいな
312デフォルトの名無しさん:2009/04/03(金) 23:12:56
その3つを比べることに何の意味があるんだか…
#とりあえず「DJGPPってまだあったんだ」とか思った
313デフォルトの名無しさん:2009/04/05(日) 06:16:12
レトロPCを使ってる時点で処理効率など問題外なのだから
32bitコードなど中途半端にひよったものを使わずに
堂々と16bit縛りでいくべき
314デフォルトの名無しさん:2009/04/05(日) 12:53:48
dosプログラミングはずっと無料版のLSI C86使ってたな。
farポインタとか懐しい。
315デフォルトの名無しさん:2009/04/09(木) 15:03:43
>>300 7000円あるなら中古でWindows98の入ったPC買えるだろww
316デフォルトの名無しさん:2009/04/09(木) 22:33:46
そうかなあ
317298:2009/04/10(金) 04:12:14
>>315
その後、BCC v3.1J+TASMとか、NASM 2.06rc1で楽しくプログラミングしてます。

先日、皆さんのご指摘通り、32Bit Cコンパイラと16Bit時代のコンパイラを
比較する浅学さを自己批判しました。GCCはWinXPのPC/ATマシンで活躍してます。
自分は普通にCygwinのバイナリパッケージを使ってます。

あと、Borland C++ Development Suite 5.0Jというのを、CDだけ入手しました。
オクで\2,000でした。印刷物のマニュアルがないのがイタいですが、
Win95/NT3.51/DOS/OS/2対応の総括的位置付けのバージョンっぽいので、
おいおい試したいです…って、GCCと関係なさ過ぎたwすいませんww
318デフォルトの名無しさん:2009/04/12(日) 16:37:09
すいません 質問下手かもしれないけどよろしいでしょうか?
Cygwinのインストール時、boostも一緒にインストールすることができますよね?
私の場合はver(?)1_33_1なので/usr/include/boost-1_33_1/boost に主なファイルが展開されました。

次はcppファイルのコンパイルなんですが

#include <boost/thread.hpp>

↑を含んだa.cppファイルをコンパイルする場合、
$ g++ a.cpp -I"/usr/include/boost-1_33_1/" -lboost_thread-gcc-mt

といったコマンドで通りました。んで、
$ ./a.exe

で一応exeファイルは実行できるんですが、生成したexeファイルはコマンドによる実行は有効のようで、
winからのダブルクリック起動だと
「cygboost_thread_gcc_mt-1_33_1.dllが見つかりません」といったメッセージがでます。。。
どうすれば改善できるでしょうか?多分boostの参照あたりも間違っていると思うんですが・・・
あんまりUNIXコマンドは詳しくないのでちんぷんかんぷんですw
319デフォルトの名無しさん:2009/04/12(日) 17:21:34
>>318
$ cygcheck ./a.exe を実行してcygboost_thread_gcc_mt-1_33_1.dllの存在するディレクトリを調べて、
Windowsの環境変数PATHに追加する。
320デフォルトの名無しさん:2009/04/12(日) 17:58:14
>>319
実行してみたけど無理でした・・・
そもそもboostを導入する方法はこれでよかったのでしょうか・・・
321319:2009/04/12(日) 18:50:24
正確に書いてくれ。「実行してみたけど無理でした・・・」はどうなったのかわからん。
1)cygcheckが実行できなかった。
1-1)cygcheckが見つからなかった
1-2)cygcheckが見つかったが、cygcheckの実行時にエラーが出た。
1-3)cygcheckが見つかり、cygcheckの実効でもエラーが出なかったが、cygboost_thread_gcc_mt-1_33_1.dllが見あたらなかった。
2)cygcheckが見つかり、cygboost_thread_gcc_mt-1_33_1.dllが存在するディレクトリも判明したが、Windowsの環境変数PATHの設定で
2-1) Windowsの環境変数PATHを設定する方法がわからない
2-2) Windowsの環境変数PATHを設定する場所はわかったが、PATHの書式を知らない。
2-3) Windowsの環境変数PATHをユーザ環境変数とシステム環境変数のどちらに設定すればよいかわからない。
2-4) Windowsの環境変数PATHをユーザ環境変数に追加したが、改善しなかった。
2-5) Windowsの環境変数PATHをシステムザ環境変数に追加したが、改善しなかった。
3) 他にもあるかもしれんが、エスパーするのに疲れたのでここまで。
322318:2009/04/12(日) 19:01:03
check成功

cygboost_thread_gcc_mt-1_33_1.dllの場所が分かった
私の場合はD直下にcygwinフォルダがあるのでD:\cygwin\binにあった

環境変数PATH
コントロールパネル→システム→詳細から
片方ずつと両方で3パターンで試しした。
両方とも変数名はPATH 変数値はD:\cygwin\bin;D:\cygwin\usr\bin; %PATH%

直らない いまここです
2-4 or 2-5ってとこです。。。
323319:2009/04/12(日) 19:01:48
$ cygcheck -cd | grep boost
boost                1.33.1-4
boost-devel          1.33.1-4
libboost             1.33.1-4

$ g++ -Wall -Wextra boost_exam.cpp -I"/usr/include/boost-1_33_1/" -lboost_thread-gcc-mt

$ ls a.exe
a.exe*

$ cygcheck ./a.exe
.\a.exe
  C:\cygwin\bin\cygboost_thread-gcc-mt-1_33_1.dll
    C:\cygwin\bin\cygwin1.dll
      C:\WINDOWS\system32\ADVAPI32.DLL
        C:\WINDOWS\system32\KERNEL32.dll
          C:\WINDOWS\system32\ntdll.dll
        C:\WINDOWS\system32\RPCRT4.dll
          C:\WINDOWS\system32\Secur32.dll
324319:2009/04/12(日) 19:10:05
>>322
Windowsの環境変数にd:\cygwin\binを追加してから、
**新たに** Windowsのコマンドプロンプトを開いて「echo %PATH%」を実行し、
cygwinのパス(今回だとd:\cygwin\bin)が存在することを確認する。
325319:2009/04/12(日) 19:14:04
確認できました
326319:2009/04/12(日) 20:36:56
>>326
じゃあ、次に、そのコマンドプロントで「ls --version」を実行してみる。
d:\cygwin\binにパスが通っていれば(= PATHの設定が正しいなら)、
下のようにlsコマンドのバージョン情報が表示されるはず。

ls (GNU coreutils) 6.10
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Richard Stallman and David MacKenzie.

で、この状態でエクスプローラーから、さっきのa.exeを実行してみる。
もし「cygboost-thread-gcc-mt-1_33_1.dllが見つかりません。……」のエラーが出るようなら、
「Windowsをログアウト」「再ログイン」する(= explorerにユーザー環境変数を反映させる)
ちなみに、「システム環境変数PATH」の方を変更したら、Windowsを再起動してから試すこと。
327318:2009/04/12(日) 20:39:47
ええ!?再起動しないと駄目なのかい!?
328319:2009/04/12(日) 20:50:50
Explorerに環境変数を反映させるには、Explorerプロセスの再起動が必要。
Windowsの環境変数はExplorerの親プロセスに設定される。しかし、それを子プロセスに反映するには、子プロセスを再起動する必要がある。
(これはWindowsだろうと、UNIXだろうと、MS-DOSだろうと、同じ)。

もっとも、今回はExplorerだからログアウト→ログオンで、行けそうな気がする。(面倒なので試してない)

なお、Windowsサービス (ApacheとかPostgreSQLとか)に環境変数の変更を反映させるなら、Windowsサービスの親プロセスの再起動、つまりWindowsの再起動が必要。
329318:2009/04/12(日) 20:52:35
やった!!できました!!
長い時間ありがとうございました
330319:2009/04/12(日) 21:00:50
おめでとう。これで肩の荷が下りたよ。
331デフォルトの名無しさん:2009/04/27(月) 14:40:09
MinGW(gcc3.4.5)でSTLport5.2.1のビルドができない理由がやっとわかりました

STLport5.2.0でMinGWのサポートは一旦打ち切りになっているようです
従ってSTLport5.1.7以前を使う必要があります

それから少しファイルの修正が必要です

1. Open the file "stlport\stl\config\user_config.h" to uncomment the macro _STLP_NEW_PLATFORM_SDK.
2. Locate the following lines in file "stlport/stl/config/_gcc.h":

# if defined (_STLP_NEW_PLATFORM_SDK)
/* For the moment the Windows SDK coming with Mingw still mimik the old platform SDK. */
# undef _STLP_NEW_PLATFORM_SDK
# endif

then comment all these lines or replace them with:

# include <w32api.h>

# if (__W32API_MAJOR_VERSION > 3) || ((__W32API_MAJOR_VERSION = 3) && (__W32API_MINOR_VERSION >= 12))
# if !defined(_STLP_NEW_PLATFORM_SDK)
# define _STLP_NEW_PLATFORM_SDK 1
# endif
# endif

以上の修正でコンパイルできます
std::mapを使うと__tmpが初期化前に使われているとか警告が出ますが
無視していますけどいいのでしょうか?
332デフォルトの名無しさん:2009/04/27(月) 14:41:35
なお上記の修正は次のFORUMから引用しました

http://sourceforge.net/forum/forum.php?thread_id=3036652&forum_id=490891
333デフォルトの名無しさん:2009/04/30(木) 09:21:49
エラーメッセージの日本語化って進んでますか?
334デフォルトの名無しさん:2009/04/30(木) 16:21:30
日本語化されたエラーメッセージ見ても、分からないという落ち?
335デフォルトの名無しさん:2009/04/30(木) 22:02:55
>>333
1.7でLANG=ja_JP.UTF-8なら、日本語のメッセージカタログ持ってるやつは、日本語でメッセージを出す模様。
メインの環境を1.7に切り替えたんだが、localeまわりはまだ微妙だな……。まぁ、壊滅状態の生1.5よりはマシだけど。
しかし、ちゃんと動くようにする意志はあるんだろうか。
336デフォルトの名無しさん:2009/05/03(日) 12:42:57
MSYSのm4が古い問題ってどうやって回避するの?
337デフォルトの名無しさん:2009/05/03(日) 17:47:45
Component Object Model使うサンプルください
(しかし略すとCOMなんて最低な名前・・・検索で余計なのがひっかかりまくりw)
338デフォルトの名無しさん:2009/05/04(月) 12:20:21
gccでC言語のプログラムをコンパイルしたら、
そのライセンスって制限付く?
標準Cライブラリはgccのものを使うとして。
339デフォルトの名無しさん:2009/05/04(月) 12:32:56
GPL/LGPLでは。
340デフォルトの名無しさん:2009/05/04(月) 12:45:10
確かgccを改変してMy_Compilerとかいうソフトを作るんならGPLだが、
産物に関してはGPLが及ばないのではなかったかな?
libstdc++とかも例外条項付きGPLだから大丈夫とか聞いた気がするけど。
どなたか有識者plz!
341デフォルトの名無しさん:2009/05/04(月) 12:57:38
>>340
前者GPL、後者LGPL。
342338:2009/05/04(月) 13:15:47
>>339-341
なるほど、産物にも影響するのね。
どんなにヌルくてもLGPLが要求されるなら到底 仕事じゃ使えないわな。。。
343デフォルトの名無しさん:2009/05/04(月) 13:23:40
そこらの家電には結構入っているがな。
どんな仕事だよ。
344デフォルトの名無しさん:2009/05/04(月) 13:28:46
>340
GCC については
http://www.gnu.org/licenses/gpl-faq.html#CanIUseGPLToolsForNF
で、libstdc++ については
ttp://gcc.gnu.org/onlinedocs/libstdc++/faq.html#faq.license.what_restrictions
で、コンパイル対象のコードのライセンスに対しては制約なしとなってる。
345デフォルトの名無しさん:2009/05/04(月) 13:28:57
>>343
リバースエンジニアリングされると困る仕事。
まあどうせされるんだろうが、それにしたってLGPLだと明示的に禁止出来ないじゃない。
346338:2009/05/04(月) 13:40:41
>>344
おお、決定打ありがとう。
libstdc++はつまり
「オープンソースにしてくれるとうれしいけど、
まあそうじゃなくても良いよ。特に制約は科しません」
という事だよね。
ここは理解出来たのだがGCCについては今ひとつだ。
よろしければ教えていただけませんでしょうか?
「GCC(や他のGPLでライセンスされたエディタなど)を使って
開発されたソフトウェアには何ら制約はありません。」
「しかしBisonは自身のコードの一部をコピーするのでGPL強制です。」
BisonとやらはGCCの一部なのかい?
だとするとやっぱりGCCを使うと結果的に産物もGPL強制?
347デフォルトの名無しさん:2009/05/04(月) 13:45:53
>>346
ソースをベースにしたらGPL
ライブラリ/バイナリを使ったらLGPL
と覚えておけばいい。

明示的な禁止に意味があるとは思えないが。
348デフォルトの名無しさん:2009/05/04(月) 13:51:38
>>347
LGPLだとライブラリをstaticリンクした時が致命的じゃね。
ソースコードまたはオブジェクトコードの配布を拒否してはならない
だと!?
349デフォルトの名無しさん:2009/05/04(月) 13:52:42
>>348
心配すんな、ダイナミックリンクも対象だ。
今時何言ってるんだ、おまえは。
350デフォルトの名無しさん:2009/05/04(月) 13:53:40
>>349
え?ダイナミックリンクでもソース開示強制なの?
351デフォルトの名無しさん:2009/05/04(月) 13:58:40
>>350
自分で書いたことも読めないのか。
とりあえずまず自分で読んだらどうだ。
352デフォルトの名無しさん:2009/05/04(月) 14:01:12
>>346
> libstdc++はつまり
> 「オープンソースにしてくれるとうれしいけど、
> まあそうじゃなくても良いよ。特に制約は科しません」
この翻訳(意訳)でOK。
> 「GCC(や他のGPLでライセンスされたエディタなど)を使って
> 開発されたソフトウェアには何ら制約はありません。」
ここもこの翻訳(意訳)でOK。
> 「しかしBisonは自身のコードの一部をコピーするのでGPL強制です。」
ここもこの翻訳(意訳)でOK。

> BisonとやらはGCCの一部なのかい?
> だとするとやっぱりGCCを使うと結果的に産物もGPL強制?
現在のGCC(g++しか記憶にないが)はbison使わないんじゃなかったか?

以上まとめると、商用利用も万事OKで全く制約はないと思われ。
353デフォルトの名無しさん:2009/05/04(月) 14:02:06
>>350
いや再確認してるだけだろ、無能はだまっとれ。
354デフォルトの名無しさん:2009/05/04(月) 14:47:53
>346
元々この FAQ の項は GPL なツールを使ってフリーじゃないプログラムを開発できますか?という項。
で、問題ないというのが最初の段落なんだけど、自身のコードの一部をコピーするものもある、というのが次の段落に説明されていて
その例として Bison (構文解析器を作成する為のツール) が挙げられている。
コピーされたコードについては元々のライセンスが適用されるんだけど、Bison に関して言えば例外が認められていて非フリーの
プログラム作成に使っても問題ない、というのが最後の段落。
仮に GCC が Bison を利用していたとしても影響を受けるのは GCC まで。
結局、いずれにしろ GCC の生成物を非フリーとして利用してもよい。

まとめると GPL なツールを用いて非フリーのプログラムを作成しても基本OKだけど、ソースをコピーするものについては
それぞれ例外条項があるかどうか確認するべし、となる。
355346:2009/05/04(月) 15:03:55
>>352
>>354
なるほど、だいぶ分かりました。
GCCは非フリー利用にも耐えうる事が
ちゃんとオフィシャルに示されているわけですね。
GCCが発展した理由が分かったような気がしてきました。
356デフォルトの名無しさん:2009/05/05(火) 12:29:02
C++ code - 28 lines - codepad
ttp://codepad.org/1sFiMF2t
このコードで
g++ (GCC) 3.4.5 (mingw special)にて
コンパイルオプション -O2 -Wall
としたときに発生する警告について、皆様のお知恵をどうかお貸しください。

C:/PROGRA~1/mingw/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.
4.5/bits/stl_tree.h: In member function `typename std::_Rb_tree<_Key, _Val, _Key
OfValue, _Compare, _Alloc>::_Link_type std::_Rb_tree<_Key, _Val, _KeyOfValue, _C
ompare, _Alloc>::_M_copy(const std::_Rb_tree_node<_Val>*, std::_Rb_tree_node<_Va
l>*) [with _Key = std::string, _Val = std::pair<const std::string, int>, _KeyOfV
alue = std::_Select1st<std::pair<const std::string, int> >, _Compare = std::less
<std::string>, _Alloc = std::allocator<std::pair<const std::string, int> >]':
C:/PROGRA~1/mingw/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.
4.5/bits/stl_tree.h:1029: warning: '__top' might be used uninitialized in this f
unction
C:/PROGRA~1/mingw/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.
4.5/bits/stl_tree.h:365: warning: '__tmp' might be used uninitialized in this fu
nction
というwarningが出てしまいます。

g++ 〜〜.cpp -O2
でも
g++ 〜〜.cpp -Wall
でもwarningが出ないのですが
g++ 〜〜.cpp -O2 -Wall
だとwarningが出てきます。

[C++] MingW warning in one of the stock sources? - GameDev.Net Discussion Forums
ttp://www.gamedev.net/community/forums/topic.asp?topic_id=523290
ここの人も同じような問題に当たっているようですが、これは何がおかしいのでしょうか?
357デフォルトの名無しさん:2009/05/07(木) 10:14:00
>>356
詳しいことは知らんが、その警告は最適化しないと出てこない。
要は、最適化のフェーズで変数を未代入で参照しているようなパスを見出しているのだろう。
手元の3.4.4のソースだと、どちらも関数の戻り値で初期化しているように見えるのだけど、3.4.5で変わったのかもしれない。
尤も、例えば次のようなコードでもその警告は出るので余り心配する必要はないだろう。
--
int main()
{
int foo;
for (int ic = 0; ic < 10; ++ic) {
if (ic) {
++foo;
} else {
foo = 0;
}
}
printf("%d\n", foo);
return 0;
}
358356:2009/05/07(木) 11:30:15
>>357
良い例ありがとうございます。
では、心配しないで進むことにします。
お世話になり、ありがとうございました。
359デフォルトの名無しさん:2009/05/07(木) 11:42:18
どうでもいいけど、>357のソースをgcc -std=c99 -O3 -funroll-loops -Wallしたら警告が消えた。
どうやら、O3の最適化とunroll-loopの組み合わせでループを全展開して代入だけにしてしまうらしい。
と思ってアセンブリ出力を見たら只管インクリメントしていて笑えた。
360デフォルトの名無しさん:2009/05/07(木) 21:45:44
>>356
Binary Hacksに>>357が言ってることが書いてあった気がする
361デフォルトの名無しさん:2009/05/13(水) 16:56:51
GNU ncursesで日本語表示をするやり方を教えてください。
環境はWindows Vista Businessのcygwinです。
configure --enable-widecの後makeしたncursesを使っています。
コンパイルはgcc test.c -lncurseswです。
"ほげほげ"と表示させたいのですが文字化けしてしまいます。
ただのprintf("ほげほげ");は正常に表示されています。
ソースは以下です。
<ncursesw/ncurses.h>
#include <locale.h>
main(){
setlocale(LC_ALL,"");
initscr();
addstr("ほげほげ");
refresh();
sleep(1);
endwin();
}
google検索してみた結果、ほぼ同じ状況の方を見つけ、
Windows Service for Unix3.5を使うと表示できるようであることはわかったのですが、vista なので困っています。
cygwinで文字化けせずに表示する方法はないでしょうか。
362デフォルトの名無しさん:2009/05/13(水) 22:53:42
今のcygwinはsetlocaleをほとんど無視する仕様だった希ガス
363デフォルトの名無しさん:2009/05/13(水) 23:28:01
>>362
setlocaleはCygwin-1.7なら一応動く。(つか、setlocaleしないとまともに動かず、それはそれで困っているので現在hack中)
ただし、wcwidth/wcswidthも腐ってるので、ncursesw使っても日本語はNGというしょぼーんな結果に。
そのうち何とかするつもりなので気長に待て。
364361:2009/05/14(木) 08:35:11
cygwinで日本語表示は厳しそうですね・・・
仮想PCにXPを入れてWindows Service for Unix3.5上で動かしてみたら、
先のサンプルでの”ほげほげ”の表示の確認ができました。
仕方がないので、Windows Service for Unix3.5を使っていこうと思います。
ありがとうございました。
365デフォルトの名無しさん:2009/05/14(木) 10:00:05
>>364
XWindow使えば少しはましだった希ガス。尤も、そこまでしてCygwinにこだわる必要もない黄モス。
366デフォルトの名無しさん:2009/05/14(木) 10:43:20
Vista Businessなら仮想環境使わなくてもSUA(SFUの後継)使えなかったっけ
367デフォルトの名無しさん:2009/05/14(木) 17:20:20
cygwinのwcwidth/wcswidthが腐ってても--enable-widecつけてビルドすると
libutf8のほうの使うようになるから、おkだった希ガス

あとはsetlocale(LC_ALL, NULL);が常にja_JP.UTF-8を返すようにしたcygwinのdllと
少なくてもUTF-8表示に対応した端末(漏れの場合はck
用意したら表示できたYO

368デフォルトの名無しさん:2009/05/23(土) 19:35:45
#include <iostream>

int main()
{
std::cout << "能" << std::endl;
return 0;
}

このコードがg++ 3.4.5 Mingwでコンパイルできません。
どうすれば良いでしょうか?
369デフォルトの名無しさん:2009/05/23(土) 20:04:26
"能\"
370デフォルトの名無しさん:2009/05/23(土) 20:27:09
>>369逆じゃねーの?
371368:2009/05/23(土) 20:35:41
"能\"
でいけました。
ありがとうございました!
372デフォルトの名無しさん:2009/05/23(土) 20:37:40
gcc --input-charset=cp932 --exec-charset=cp932
373デフォルトの名無しさん:2009/05/23(土) 20:40:27
374デフォルトの名無しさん:2009/05/23(土) 20:50:49
なるほど、文字コードの問題なのですね。
ありがとうございます。
375デフォルトの名無しさん:2009/05/23(土) 21:14:17
文字コードの問題だけじゃなくてインストーラでインストールした場合
iconvがリンクされてないので古いcc1.exeとcc1plus.exeを持ってこい
という話
376デフォルトの名無しさん:2009/05/23(土) 21:33:32
なるほど、
多少の処置が必要なのですか。
ありがとうございます。
377デフォルトの名無しさん:2009/05/23(土) 21:42:50
俺もそれでハマったんで
本当にMinGWのインストーラは糞だわ
というか8ビット圏の人間無視してるだろって感じ
378デフォルトの名無しさん:2009/05/23(土) 23:59:53
www.tdragon.net/recentgcc
俺はこれ使ってる
379デフォルトの名無しさん:2009/05/24(日) 01:10:33
>>378
これSTLportの最新版(5.2.1)ビルドできる?
380デフォルトの名無しさん:2009/05/24(日) 02:23:34
>>379
若干の修正が必要だが一応ビルドできた
EHテストも通ったけど
ちゃんと使えるライブラリとしてビルドできたかどうかは不明
381デフォルトの名無しさん:2009/05/29(金) 11:04:07
MinGWでGDI+ができた人いませんか?
382デフォルトの名無しさん:2009/06/02(火) 16:29:42
ハッシュ検索関係hcreate/hsearch/hdestroy
cygwinにはあってMinGWにはないのな
-mno-cygwinで使いたきゃ自力で実装するしかないっと
383デフォルトの名無しさん:2009/06/03(水) 09:52:38
>>382
MinGWを使うってことは,POSIXなAPIを諦めてWin32 APIと生きる覚悟をするってことだ
384デフォルトの名無しさん:2009/06/04(木) 06:02:06
-- foo.c
extern void g();
void f() { g(); }
--

gcc -shared foo.c -o foo.so

こんな共有ライブラリを作る場合、
シンボルgについて何も知らなくても実行時に解決してくれるはずですが、
cygwinで同じことをやろうとするとfoo.soがビルドできません。
(undefined reference to `_g' とldに言われる)
何か別のオプションが必要なのでしょうか?
385デフォルトの名無しさん:2009/06/04(木) 06:07:49
foo.dll?
386384:2009/06/04(木) 07:48:52
>>385
あ、cygwinでは-o foo.dllでやってました。

で、スマソ自己解決
ttp://www.bookshelf.jp/2ch/unix/1107587275.html
の273以降に話が出てました。

> WindowsのDLLじゃビルド時にシンボル解決をしてやらないといけないんだよね。
> なんかアホらしい仕様。
orz

gcc -shared foo.c -o foo.dll -lowner_of_g
ちゃんと書かなきゃいけないようです。
書けない場合は自分でシンボル解決しなきゃいけないのか
387デフォルトの名無しさん:2009/06/04(木) 16:27:27
>>386
http://www.pushaa.jp/~hizuki/のコピペで何も考えずに作ってたけど
(さらに"-s"付けると関数名そのままで呼べるようになる)
そんな制限があったのか
388デフォルトの名無しさん:2009/06/04(木) 21:48:52
>384
一応こんなのもあるべ。
ttp://alain.frisch.fr/flexdll.html
389デフォルトの名無しさん:2009/06/05(金) 04:54:12
390デフォルトの名無しさん:2009/06/13(土) 16:16:43
Windows XP SP2です。
g++ source.cpp
というコマンドでコンパイルすると、
コンパイルエラーが大量に出て
上の方が読めなくなってしまいます。

コンパイルエラーは、特に最初の方が大事なわけで
これでは困るのですが、どうしたら全てのエラーメッセージがでるでしょうか?

g++ source.cpp > result.txt
の様にリダイレクトしてみたのですがだめでした。

391デフォルトの名無しさん:2009/06/13(土) 17:17:11
>>390
オイオイ。 標準エラー出力をとらなきゃ駄目だろ。

g++ source.cpp 2> result.txt

っていうかソースコードをある程度のサイズに分割しておけば、
最初の方が流れてしまうほど大量のエラーメッセージにはならないはず。
392390:2009/06/13(土) 17:21:01
>>391
2>
で取れるのですか。
初めて知りました。
ありがとうございます。

>ソースコードをある程度のサイズに分割しておけば、
まさにおっしゃる通りです。
・・・が、特定のクラスのデバッグ用途のソースなため
分割の意味があまりなく、またエラーが出る時はソース全てに渡り
むっちゃくちゃ一斉に出るという特徴がありまして。
393デフォルトの名無しさん:2009/06/15(月) 18:56:04
OSの使い方を先に覚えないとな
394デフォルトの名無しさん:2009/06/15(月) 19:37:27
boostのmulti_array.hppに関して質問させてください。

とあるプログラムをコンパイル&インストールしようと思い、cygwinを導入しました。
コンパイル&インストールにはboostの1.34以上が要求されていました。
しかし、cygwinのパッケージに含まれていたboostが1.33である事に気付かず、
そのまま行ってしまい、途中でエラーが出てコンパイルが中断しました。

そこで漸くboostのバージョンが要求を満たしていなかった事に気付き、
cygwinのsetup.exeを立ち上げてboostをアンインストールし、
http://homepage3.nifty.com/kaku-chan/boost/install.htmlを参考に
最新バージョンのboostをインストールしました。

その後、もう一度コンパイル&インストールを試してみたのですが、
途中で、
checking boost/multi_array.hpp usability... no
checking boost/multi_array.hpp presence... no
checking for boost/multi_array.hpp... no
configure: error: "boost/multi_array.hpp is unavailable"
とエラーが表示され、コンパイルが止まってしまいます。

この状態で数時間悩み続けているのですが、どうにも解決の糸口が見つかりません。
これはboostのインストールがうまくいってないという事なのでしょうか?

どうぞよろしくお願いします。
OSはXPのSP2です。
395デフォルトの名無しさん:2009/06/15(月) 22:59:20
>>394
> これはboostのインストールがうまくいってないという事なのでしょうか?

たぶんそう。
bjam は cygwin のパス変換ルールを知らないかもしれない。
実際にどこにインストールされたか探してみなYo
396394:2009/06/16(火) 22:24:20
>>395
boostがインストールされたディレクトリのパス
***/boost1_39/boostを
***/boostに変更してやると、無事にコンパイルできました。
有難うございました。
397デフォルトの名無しさん:2009/06/17(水) 16:55:45
cygwin使ってんだけどxemacsの中で日本語入力ってどうやればいいんですか?
398デフォルトの名無しさん:2009/06/17(水) 21:11:57
>>397
帰れ、死ね
399デフォルトの名無しさん:2009/06/21(日) 04:32:15
概要:

MSYS1.0のrxvt/sh+cmd.exeで、特定の漢字を含む
シェルスクリプトを実行できません。

例:

$ cat test.sh
echo "冒"

$ sh test.sh
test.sh: line 2: unexpected EOF while looking for matching ``'
test.sh: line 3: syntax error: unexpected end of file

test.shはShiftJISで、rxvtの-fnもTerminalに設定しています。
マルチバイト文字を正しく認識していない為だと思われます。

対処法を御存じの方は、よろしくお願いします。
400399:2009/06/21(日) 04:43:15
追記:
ちなみに/etc/profileにてexport LANG=ja_JP.SJISとしています。
401399:2009/06/21(日) 05:16:52
http://www.ysnb.net/meadow/meadow-users-jp/2002/msg00080.html
上記と同じ症状と思われます。
402デフォルトの名無しさん:2009/06/21(日) 14:04:36
>>399
こう書いてみては?
echo -e "\0226\0140" # echo "冒"
403399:2009/06/21(日) 22:03:17
>>402
解決しました。ありがとうございます!
404デフォルトの名無しさん:2009/06/22(月) 10:17:57
拡張子がlaとかlaiのファイルって何?
405デフォルトの名無しさん:2009/06/22(月) 10:31:24
reimp/pexportsのバグか、gdiplusのバージョンが違うためか、
libgdiplus.aを正しく作成することができません。
誰かMinGW用のlibgdiplus.aというファイルくれませんか?
406デフォルトの名無しさん:2009/06/22(月) 23:08:35
あんまり知られてないけど、
gcc hoge.o c:\windows\system32\gdiplus.dll -o hoge.exe
って感じで直接DLLのファイル名を指定できる。
インポートライブラリ不要。
407デフォルトの名無しさん:2009/06/22(月) 23:45:45
>>404
libtoolで使うファイル
libtoolは何のために使うのかというと・・・・↓にまかせた
408デフォルトの名無しさん:2009/06/23(火) 20:59:55
ttp://sourceforge.net/forum/forum.php?forum_id=969885
> The MinGW.org team is pleased to offer a binary release of GCC 4.4.0.

キター
409デフォルトの名無しさん:2009/06/23(火) 21:16:33
おお、ついに来たか!
とりあえず 4 必須の ffmpeg とかビルドしてみよ
410デフォルトの名無しさん:2009/06/23(火) 21:37:57
MinGWが正式にgcc4.xを採用したって考えて良いの?
やっとか。
411デフォルトの名無しさん:2009/06/24(水) 00:29:39
TDM一回消して入れ直した方がいいのかな
412デフォルトの名無しさん:2009/06/26(金) 00:03:15
>407
共有オブジェクト、動的ライブラリ、DLL 等、実行時に読み込まれるライブラリは環境によって
その扱いが大きく異なる。これらの違いを吸収し同じように扱えるようにするのが libtool。
413デフォルトの名無しさん:2009/06/29(月) 08:49:47
学校の課題で、日本語のテキストを入力して、日本語の辞書(EUC)を元に、新しいテキストを生成して出力するシステムを
C言語で作りたいのですが、CygWinで実行しても文字化けしてしまいます。
どうすればいいのでしょうか?
414デフォルトの名無しさん:2009/06/29(月) 16:12:57
>>413
cygwin用にcp932の辞書を用意するとか、iconv使って自前で変換するとか、好きにしてください。
415デフォルトの名無しさん:2009/06/29(月) 17:35:24
Win7の次のWindowsはデフォルトでUTF8にするために
A系APIにはもれなく意味不明のウェイトつけてほしいw
416デフォルトの名無しさん:2009/06/30(火) 03:31:29
MinGWのinfo/ディレクトリにあるdirでは、そこにあるほとんどのinfoファイルがシカトされているけど、
これは意図的にそうなのかな
417デフォルトの名無しさん:2009/06/30(火) 03:35:11
「ほとんどの」は言い過ぎた。。例えばgccとcpp
418デフォルトの名無しさん:2009/07/02(木) 05:59:49
>>405
pexportsなら、gdiplus.dllのほかに、wineのソースあたりからヘッダ群を持ってきて
"pexports -h gdiplus.h gdiplus.dll > gdiplus.def"
reimpなら、Platform SDKからGdiPlus.libを持ってきて
"reimp gdiplus.lib"
419デフォルトの名無しさん:2009/07/02(木) 10:25:39
GDI+は、ここのページでいけました。ありがとうございました。
http://alfps.izfree.com/libraries/cpp/gdiplus_for_mingw/
420デフォルトの名無しさん:2009/07/03(金) 16:29:34
4.4.0で初めてMinGWに触れました
gccで手持ちのサンプルプログラムは大抵動作することは確認したのですが、
gcjでネイティブコンパイルしたプログラムを実行すると、
This application has requested the Runtime to terminate it in anusual way.
Please contact the application's support team for more information.
とエラーが出てしまい、強制終了してしまいます
-CオプションをつけてJAVAバイトコードにコンパイルした場合、問題なく動作するものが生成されることを確認済みです
何か特殊なランタイムライブラリが必要なのでしょうか?
421416:2009/07/04(土) 07:13:37
422デフォルトの名無しさん:2009/07/05(日) 15:51:51
tcshをCygwinをインストールする際に、選択し忘れていました。
tschだけ個別にインストールってできますか?
423デフォルトの名無しさん:2009/07/05(日) 16:01:00
できる
424デフォルトの名無しさん:2009/07/05(日) 16:02:37
出来ます
インストールの時に使った cygwin setup で
任意のパッケージの追加/削除/アップデートが出来るようになってるから
もう一度起動してみてください
425デフォルトの名無しさん:2009/07/05(日) 16:06:28
ありがとうございます!
426デフォルトの名無しさん:2009/07/05(日) 22:21:43
cygwin から gcc-4, g++-4 etc がインストールできるようになり、
/etc/alternatives で g++ を g++-4.exe のシンボリックリンクにしたのですが、
iostream などをみつけられなくなってしまいました。他にどんな作業が必要なのでしょうか。
gcc では問題ないようですが。
427デフォルトの名無しさん:2009/07/05(日) 22:24:43
gcc-4.4では、wchar_tをネイティブで扱うwprintf()は廃止されてしまいましたか?
なんかバージョンあげてからずっと使えないんですが・・・
実装中。というような事はどこかで見たんですが、代用関数などは無いのでしょうか。。。
処理的に非常に困ります。
428デフォルトの名無しさん:2009/07/05(日) 22:55:36
Cygwin.batにコマンドの引数を与えることはできるでしょうか
429デフォルトの名無しさん:2009/07/06(月) 09:01:57
できる。
430デフォルトの名無しさん:2009/07/06(月) 09:48:43
>>427
諦めるべき
431デフォルトの名無しさん:2009/07/06(月) 17:53:56
>>429
教えろよ
432デフォルトの名無しさん:2009/07/06(月) 21:05:44
>>431
何を?
433デフォルトの名無しさん:2009/07/06(月) 21:18:40
>>427
mingwの4.4だとlibiconvがリンクされてないからかも?
434デフォルトの名無しさん:2009/07/06(月) 22:12:42
MinGWのgcc4.4.0が正式に出ても俺はlibiconvがリンクされてない
可能性があるって理由だけでTDM-MinGWを使い続けてる
435デフォルトの名無しさん:2009/07/06(月) 23:35:45
自分でビルドすれば?
4.4.0 のバイナリあるんだから
そこからのビルドは簡単だで
436デフォルトの名無しさん:2009/07/06(月) 23:36:36
MinGW使わない方は、絶望的?
437デフォルトの名無しさん:2009/07/07(火) 00:16:26
gcc-4.4.0-mingw32-notes.txtから
libiconv Runtime [REQUIRED]
libiconv-1.13-mingw32-dll-2.tar.gz
438デフォルトの名無しさん:2009/07/08(水) 19:49:18
gcjは何でlibgcjを静的リンクしないと動作しないコードを吐くの?
439デフォルトの名無しさん:2009/07/10(金) 02:46:17
wprintf()が使えない・・・って思ったら
タイムリーなレスがあった。

Win+GCCの場合、mingwじゃないとダメなのか・・・
440デフォルトの名無しさん:2009/07/10(金) 06:20:25
もう、wchar_tはWin用。
なんつーか、何も考えずに全ての文字が固定長で扱えて
stringとかSTLみたいにオーバーヘッドのない操作方法があればいいんだがなぁ・・・
UTF-16も実は固定長じゃねぇし。ダメすぎる。
441デフォルトの名無しさん:2009/07/10(金) 10:11:53
こていちょっていうとUTF-32?
442デフォルトの名無しさん:2009/07/10(金) 12:08:17
合成文字の扱いを考えると固定長にはならない。
443デフォルトの名無しさん:2009/07/10(金) 12:31:59
ようはこれがしたい。

char str[]="あいうabc";
for(int i=0; i<strlen(str); i++)
printf("%c\n",str[i]);

で、




a
b
c

が出て欲しい。wchar_t(+UTF-16)に望んだ事はこれだったんだがなぁ。。。
変換とかオーバーヘッドを伴う処理や、そういう処理を含んだ文字列操作クラスは使いたくない。
444デフォルトの名無しさん:2009/07/10(金) 12:49:14
>>444
それは、本質的に無理だったってことなんだろう。
合成文字がある限り、1つの文字を表わすのに複数のコードポイントが必
要なのはUTF-32にしたって変わらない。

445デフォルトの名無しさん:2009/07/10(金) 12:55:38
446デフォルトの名無しさん:2009/07/10(金) 13:18:32
>>443
配列の操作はポインタ演算なんだから固定長以外無理だろ。
可変長の操作をポインタ風にするにはクラスで隠蔽するしかねーじゃん。
C/C++に対して、何を寝とぼけたこと言ってるんだ。
447デフォルトの名無しさん:2009/07/10(金) 13:20:26
それは流石に的外れw
448デフォルトの名無しさん:2009/07/10(金) 13:55:30
>>443
JISコードでも使っとけ
449デフォルトの名無しさん:2009/07/10(金) 13:57:43
>>443
>>446 の云う通りだ
「文字」クラスを作って
配列はそのクラスのインスタンスへのポインタを並べたものにする
どうだ最強だろ
450デフォルトの名無しさん:2009/07/14(火) 14:21:05
激しくスレチかも知れませんが、もしそうだとしたら誘導してください。
smakeってどうやってビルドすればいいのでしょう?
Cygwinには入っているらしいのですが当方MinGWを使っているので・・・
当方の環境:
WinXP SP2
gcc v3.4.5
451デフォルトの名無しさん:2009/07/14(火) 20:13:58
>>450
何がわからんのか書いてくれ。
make 一発でビルドできて躓くポイントなんぞ無いぞ。
と、いうか Readme 読め。
452デフォルトの名無しさん:2009/07/14(火) 22:51:55
>>451
そのReadmeがついてないという…
453デフォルトの名無しさん:2009/07/15(水) 07:37:12
>>452

smakeだったら README.compileってファイルがあると思うが

他にもlinux系ツールだと INSTALLってファイルにビルド方法が
書かれていることが多い
454デフォルトの名無しさん:2009/07/15(水) 12:12:14
>>453
thx!
455デフォルトの名無しさん:2009/07/16(木) 20:06:33
WinXP SP2
gcc v3.4.5
456デフォルトの名無しさん:2009/07/22(水) 22:16:12
MinGWのインストーラーって無くなりました?
幾つかの参考サイトはインストーラーが前提になってて
インストールしたいのですけど配布サイトに無くてお手上げ状態です。
457デフォルトの名無しさん:2009/07/22(水) 22:25:06
>>456
俺は公式のMinGWが面倒なのでTDM-MinGW使ってる

http://www.tdragon.net/recentgcc/

これならインストーラもある
458デフォルトの名無しさん:2009/07/22(水) 23:52:15
>>456
lzma で配布されてるデカいアーカイブがひとつあるだろ。
GCC 4.4.0 を使うのに必要なものはそれに全部入ってる。
459デフォルトの名無しさん:2009/07/23(木) 03:49:58
456では無いけど、そのlzmaファイル、今は無いみたいだ
>The "/GCC Version 4/Current Release_ gcc-4.4.0/gcc-full-4.4.0-mingw32-bin-2.tar.lzma" file could not be found or is not available.
>Please select another file.

・・・他のファイルも落とせないし、sf.netがリニューアルしてから調子悪いのか
460456:2009/07/23(木) 10:40:20
質問した本人です。
こんな早く返事が帰ってくるとは思っていませんでした。反応遅くて申し訳ないです。
とりあえず>>457を使ってみようと思います。
お返事ありがとうございました。
461456:2009/07/23(木) 10:45:02
>>457を使おうと思ったら>>459と同じ内容が出てきましたorz
462デフォルトの名無しさん:2009/07/23(木) 11:12:02
463デフォルトの名無しさん:2009/07/23(木) 11:15:45
うげ、やっちまった。直リンになっちまった。ごめんなさい>keihanna
464456:2009/07/23(木) 12:19:17
今配布サイトに繋げたらインストーラーが追加されてました。
昨日はなんで無かったんでしょうね…。
ともかく使ってみます。
ありがとうございました。
465デフォルトの名無しさん:2009/07/26(日) 16:59:19
466デフォルトの名無しさん:2009/07/27(月) 00:43:46
なんか公式のダウンロードページここ最近いろいろ変更されてるね
467デフォルトの名無しさん:2009/07/27(月) 00:48:58
Cygwin+GCC4(非MinGW)で
UTF-16BEのテキストファイルをmmapし、
それをwchar_t型の配列にキャストした場合
wprintf()で出力される文字は、UTF-16BEなのでしょうか?

wchar_tやwprintf()で出力される文字コードは環境依存と聞いた事があるので
Cygwinではどうなっているのかわからないのです。

ちなみに、試しに出力してみましたが、画面表示のロケーションをUTF-16BEにしてるにも関わらず文字化けします。
こちらの設定ミスなのか、仕様なのかがわからないので・・・
468デフォルトの名無しさん:2009/07/27(月) 01:00:06
>>467
Cygwinのバージョンは?
1.7ならLANGをちゃんと設定しておけばいけるはず。
1.5ならwcharは壊れてるので事実上使用不可なんじゃなかったっけ。
469デフォルトの名無しさん:2009/07/27(月) 09:01:50
Cygwinのwchar_tはUTF-16LEじゃないかい?
470デフォルトの名無しさん:2009/07/27(月) 11:09:59
swab関数でバイトオーダーを入れ替えちまえ
471デフォルトの名無しさん:2009/08/07(金) 20:23:50
gcc-full-4.4.0-mingw32-bin-2.tar.lzmaをダウンロードして解凍しました。
で、以下のソースを msys上でコンパイルしたら、すごい量のエラーが吐かれました。なんか文字化けてるし、全然意味わかりません。
助けて下さい。

----------------------------------------------
#include <iostream>
using namespace std;
int main()
{
cout << "Hello" << endl;
return 0;
}
----------------------------------------------
----------------------------------------------
$ g++ hello.cpp
c:\mingw\bin\../lib/gcc/mingw32/4.4.0/include/c++/bits/postypes.h:42 、ォ、・includ
e 、オ、・ソ・ユ・。・、・・,
c:\mingw\bin\../lib/gcc/mingw32/4.4.0/include/c++/iosfwd:42 、ォ、
,
c:\mingw\bin\../lib/gcc/mingw32/4.4.0/include/c++/ios:39 、ォ、,
c:\mingw\bin\../lib/gcc/mingw32/4.4.0/include/c++/ostream:40 、ォ
、,
c:\mingw\bin\../lib/gcc/mingw32/4.4.0/include/c++/iostream:40 、
ォ、,
hello.cpp:1 、ォ、:
c:\mingw\bin\../lib/gcc/mingw32/4.4.0/include/c++/cwchar:47:19: error: wchar.h:
No such file or directory
(以下続く)
----------------------------------------------

472デフォルトの名無しさん:2009/08/07(金) 20:33:23
>>471
win32api 関連とかは別のファイルになってる。
ちゃんと説明読め!
http://sourceforge.net/project/shownotes.php?release_id=691876
473デフォルトの名無しさん:2009/08/07(金) 20:46:43
>>472

すいません。読んでませんでした。
ちゃんと別のファイル落して、くわえたら動きました。

ありがとうございました。
474デフォルトの名無しさん:2009/08/07(金) 20:48:35
あとエラーメッセージとかの日本語は euc になってる。
ターミナル側を euc に設定できるならそうしたらいいけど、
sjis 版のカタログファイルを用意してやったぞ。
http://www.42ch.net/UploaderSmall/source/1249645520.mo
をダウンロードして
/mingw/share/locale/ja/LC_MESSAGES/gcc.mo
をおきかえろ。
475デフォルトの名無しさん:2009/08/07(金) 20:56:29
>> 474

ぉお〜 !!ありがとうございます。
476デフォルトの名無しさん:2009/08/10(月) 22:26:06
cygwin でシェルスクリプトを実行しようとすると
cannot execute binary file
というエラーが出てしまいます。
どうしたらいいんでしょう?
477デフォルトの名無しさん:2009/08/10(月) 22:48:18
シェルは何を使ってんの?
478デフォルトの名無しさん:2009/08/10(月) 23:19:07
>>476
a)Unicode(UTF-16)で保存している
b)BOM付きUTF-8(メモ帳のUTF-8で保存するとコレ)で保存している
のどっちかじゃね?
TeraPadあたりでUTF-8N保存してみたら?
479デフォルトの名無しさん:2009/08/11(火) 14:03:25
387 名前:名無しさん@お腹いっぱい。[] 投稿日:2009/08/10(月) 08:03:10
シェルスクリプトを実行すると
./test.sh : cannnot execute binary file
なるエラーが出てしまいます。
何が悪いんでしょう。
スクリプトは下なのですが

#!/bin/bash
cat data.txt
480デフォルトの名無しさん:2009/08/11(火) 14:07:12
MinGWでgcc 4.4.0を入れたんだが、
gcc -vをすると文字化けするとこあるんだが、なんでだろ?
helloworldで日本語入れて表示させても文字化けしないんだが。

C:\Users\Username>gcc -v
Using built-in specs.
Target: mingw32
・ウ・・ユ・」・ー・ェ・ラ・キ・・: ../gcc-4.4.0/configure --enable-languages=c,ada,c++,fortran,java,objc,obj-c++ --d
isable-sjlj-exceptions --enable-shared --enable-libgcj --enable-libgomp --with-dwarf2 --disable-win3
2-registry --enable-libstdcxx-debug --enable-version-specific-runtime-libs --prefix=/mingw --with-gm
p=/mingw/src/gmp/root --with-mpfr=/mingw/src/mpfr/root --build=mingw32
・ケ・・テ・ノ・・ヌ・: win32
gcc version 4.4.0 (GCC)
481デフォルトの名無しさん:2009/08/11(火) 14:14:21
482デフォルトの名無しさん:2009/08/11(火) 14:16:05
上側の化けてるところは「コンフィグオプション」で、下側は「スレッドモデル」だな
483デフォルトの名無しさん:2009/08/11(火) 14:20:11
>>480
ソースコード中に日本語を使うなら -finput-charset や -fexec-charset オプションでエンコーディング指定するのを忘れないように。
484デフォルトの名無しさん:2009/08/11(火) 14:22:08
-finput-charset=cp932 -fexec-charset=cp932

これか
485デフォルトの名無しさん:2009/08/11(火) 14:23:47
>>481-483

即レスthx!
もっと勉強させてもらいます><
486480:2009/08/11(火) 14:51:33
>>474でDLしたファイルをgcc.moにリネームして置き換えたら、文字化け無くなった。

C:\Users\Username>gcc -v
Using built-in specs.
Target: mingw32
RtBOIvV: ../gcc-4.4.0/configure --enable-languages=c,ada,c++,fortran,java,objc,obj-c++ --disable-sjl
j-exceptions --enable-shared --enable-libgcj --enable-libgomp --with-dwarf2 --disable-win32-registry
--enable-libstdcxx-debug --enable-version-specific-runtime-libs --prefix=/mingw --with-gmp=/mingw/s
rc/gmp/root --with-mpfr=/mingw/src/mpfr/root --build=mingw32
Xbhf: win32
gcc version 4.4.0 (GCC)

>>482が言ってくれたみたいに、
「RtBOIvV」のところって、gcc3.4.5のときだと「Configured with」って表示されてたような。
「Xbhf」のところは、gcc3.4.5のときだと「Thread model」って表示されてたような。
この文字列に意味あるのかな?
487デフォルトの名無しさん:2009/08/11(火) 14:56:00
>>486
いやいや、それ化けてますから!
ちゃんと適用されていればまさに >>482 の通り表示するはずなんだ。
488480:2009/08/11(火) 17:11:32
>>487
レスthx!

今は、情報収集でググったりしてるところであります。

とりあえず現状は、
(1)コマンドプロンプトの文字コードはCP932。
(2)gcc -vで日本語と思われるところが文字化け。
(3)日本語を含む文章(ファイルの文字コードはSJIS)をprintfで表示させたら文字化けはしない。
(4)gcc3.4.5を入れたら、\shareにlocaleフォルダが無かった(多言語対応してないのかな?)

もしかして、gcc4.4.0の導入方法がダメなのかな?
公式ページからMinGW5.1.4.exeをインストールしたら、gccは3.4.5になってた(とりあえず、C:\MinGWを作成)。
で、公式ページからgcc-full-4.4.0-mingw32-bin-2.tar.lzmaをダウンロードして、
解凍したできたフォルダ達を\MinGWで上書きした。
この方法がそもそもダメとか?
489デフォルトの名無しさん:2009/08/13(木) 10:07:37
MinGW 5.1.4のg++で std::wstring がコンパイルは通るんだが,リンカーエラーになる。(IDEとしてCode::Blocks使用,ソースはBOMなし
UTF-8で書いてる)。環境変数関係の設定はもちろんOKのはず。

#include <windows.h>
#include <string>
using namespace std;

int main()
{
wstring wstr(L"はろー"); //ここと
::MessageBoxW(NULL, wstr.c_str(), L"タイトル", MB_OK); //ここをコメントアウトして
// ::MessageBoxW(NULL, L"はろー", L"タイトル", MB_OK); //ここのコメントを外すとOK
return 0;
}
このプログラムをビルドするとリンカーが,
C:\Documents\Software\CodeBlocks\unitest\main.cpp|9|undefined reference to `std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::basic_string(wchar_t const*, std::allocator<wchar_t> const&)'|
というエラーを吐く。wstringをやめてstringを使い,ソースをSJISにして::MessageBoxAで表示させると問題ない(L”なんたら”のLは外す)。
ヘッダーファイルをgrepで検索したら,

#if defined (_GLIBCXX_USE_WCHAR_T) || defined (_GLIBCXX_USE_WSTRING)

template<> struct char_traits<wchar_t>;

typedef basic_string<wchar_t> wstring;
#endif

#endif

と書いてあったので,念のため _GLIBCXX_USE_WCHAR_T と _GLIBCXX_USE_WSTRING を定義してみたけど
やっぱりダメ(リンカーエラーだから関係なさそうだけど)。何かライブラリが足りないのかな?
490デフォルトの名無しさん:2009/08/13(木) 14:53:22
> 念のため _GLIBCXX_USE_WCHAR_T と _GLIBCXX_USE_WSTRING を定義してみたけど

それが定義された状態で libstdc++.a がビルドされてないとダメなんじゃないか?
491デフォルトの名無しさん:2009/08/14(金) 00:29:28
>>490

> それが定義された状態で libstdc++.a がビルドされてないとダメなんじゃないか?

レスサンクス。
それって、_GLIBCXX_USE_WCHAR_T と _GLIBCXX_USE_WSTRING を定義した上で
libstdc++.a をビルドしろって意味? バイナリ拾ってきてインストールしたんで(ダウンロード
してインストールする方式だったけど)、ソースからビルドするにはどうすればいい?
教えて君でスマン。
492デフォルトの名無しさん:2009/08/14(金) 00:58:58
libstdc++.a は gcc のソースに一緒に入ってるんじゃないかなぁ。
493デフォルトの名無しさん:2009/08/14(金) 01:25:36
>>491
gccをビルドするときのconfigureオプションじゃないかと調べずに言ってみる。
494デフォルトの名無しさん:2009/08/14(金) 02:13:24
>>491
libstdc++.aは
C:\MinGW\lib\gcc\mingw32\4.4.0にあるよ
495デフォルトの名無しさん:2009/08/14(金) 02:42:21
>>494
バイナリがどこにあるなんてことじゃなくてビルド方法の話だろ。
496491:2009/08/14(金) 07:10:01
>>495
> バイナリがどこにあるなんてことじゃなくてビルド方法の話だろ。

その通りです。既存の libstdc++.a をリンクしてのテストはもちろんやってて、
それでうまく行かないのです。

うーん。バイナリダウンロードしてきて、そのままインストーラー任せでやったから、
こういうとき困るね。Code::Blocks使うので、MSYSすらインストールしてない。
もう少し調べてみます。
497デフォルトの名無しさん:2009/08/14(金) 23:08:29
こんな記事があった。
http://www.mingw.org/category/wiki/libstdc
498デフォルトの名無しさん:2009/08/14(金) 23:15:00
もう stlport 使えよ
499491:2009/08/15(土) 00:10:44
>>497
あちゃぁ、がっくし... 比較的最近の記事だし、そういうことなのかぁ。

>>498
そういうことですかね。検討します。

皆さんアリガト。
500デフォルトの名無しさん:2009/08/28(金) 21:38:57
cygwinでshlwapi(SHell Light Weight API)使うにはどうすんの?
ソースに#include <shlwapi.h>書いて
ldに-lshlwapi食わせてもなぜか失敗する
501デフォルトの名無しさん:2009/08/28(金) 22:52:03
どう失敗するのか書けよ。
ライブラリがないのか? 実行時エラーか? エラーメッセージは?
502デフォルトの名無しさん:2009/08/28(金) 22:53:54
gccだとVC/C++用のライブラリは使えなかったりするから、
shlwapiのライブラリをgccでコンパイルする必要があるのかもね。
503デフォルトの名無しさん:2009/08/28(金) 23:07:54
普通にインストールしてればインポートライブラリは入ってるよ。
504デフォルトの名無しさん:2009/08/29(土) 20:15:03
もしかして、Cygwinのgccで確保出来るメモリ量って結構少ないですか?

膨大なソースで多分1日仕事になるであろうソースがあるんですが、
_cygtls::handle_exceptions: Exception: STATUS_ACCESS_VIOLATION
ってエラーが出てて、どうもmallocかけてる所が怪しいんです。

ちなみに、SolarisとFreeBSD(両方64bit版)では動いてます。
Windowsは、XP x64だけど、多分Cygwinは32bitのはず。

でも、32bitの領域食いつぶしてるとも思えないしなぁ・・・
505デフォルトの名無しさん:2009/08/29(土) 22:09:18
Ubuntu 9.04 で g++ 4.3.3 を使っているのですが、メモリ管理で質問があります。
std::list に例えば int 型のデータを例えば1000万個くらい突っ込み、topでメモリ使用量を確認すると、
150MBくらい使用しています。

その後、データが不要になったあとで clear() メソッドで中身を消去し、利用した関数を終了させて
list を完全に削除した後でも、top で確認するとメモリが開放されずに残ってしまいます。
このメモリが開放されるのは、アプリケーションが終了されるときのみです。
この理由を知りたいのですが、ご存知の方は教えていただけないでしょうか?

試行錯誤してるうちに、std::list 以外でも、例えば
new int[10000000] した後にデータを突っ込んだメモリは delete[] で消えますが、
for(int i=0 ; i<10000000 ; i++){
... = new double;
}
してデータを突っ込んだメモリはすべて delete しても
やはりメモリが残ってしまうことに気づきました。これも関係ありそうな気がします。
506デフォルトの名無しさん:2009/08/29(土) 23:18:24
逆アセンブルのリスト取ってsbrk()の呼び出してる箇所を見てみたら?

malloc()はsbrk()を大抵呼び出すがfree()は単に未使用ブロックとして
マークし直すだけの事が多いのでフリーリストのフラグメントが起きると
うまく再利用されない事がある
507デフォルトの名無しさん:2009/08/29(土) 23:22:11
>>505
あなたにメモリ管理についての知識が無いだけ。
例えばmallocの実装がどうなっているか、一度調べてみると良い。

>>504
実装にバグが無ければ
メモリが足りない時は、mallocはNULLを返す。
malloc呼び出しの内部で落ちるのは、
アプリケーションがmallocの管理領域を壊している可能性が極めて高い。
例えば、1byteはみだして書き込んでいる場合、
64bitだとアラインメントの都合ではみだしていることが表面化しない場合がある。
508デフォルトの名無しさん:2009/08/29(土) 23:33:39
>>505
単純にそれだけするテストをやってみたってこと?

一般に new (malloc) で確保したメモリを delete (free) した場合、
それらの領域は次に new したときに再利用される。
一旦確保したメモリはアプリケーション側で掴んでいるので、
そのアプリケーションが終了するまでは OS 側にしてみれば使用中に視える。

BSD 系のどれだったかでは一旦 OS に返すような実装のもあったような気がする。
509デフォルトの名無しさん:2009/08/30(日) 01:05:22
>>505
大きなメモリブロックはOSから直接もらってOSへ直接返し、
小さなメモリブロックは独自に管理するのでOSへ返さず掴んだまま、
という実装は十分ありうるので、一応説明は付く
510デフォルトの名無しさん:2009/08/30(日) 01:27:39
Cygwinって一応内部ではWin32呼んでるんだよね
こういうの組んでみたけど結構こまめにOSに返してるよ

#include <iostream>
#include <windows.h>
const int l = 10000000;

int main()
{
double** a;
MEMORYSTATUS ms;

a = new double*[l];

for (int i = 0 ; i < l; i++)
a[i] = new double;

GlobalMemoryStatus(&ms);
std::cout << ms.dwAvailPhys << std::endl;

for (int i = 0 ; i < l; i++)
delete a[i];

GlobalMemoryStatus(&ms);
std::cout << ms.dwAvailPhys << std::endl;

delete[] a;

GlobalMemoryStatus(&ms);
std::cout << ms.dwAvailPhys << std::endl;
}
511デフォルトの名無しさん:2009/08/30(日) 01:59:50
「OSからの取得」をどうやっているのか、にも依存するよ。

例えばHeapAllocで獲得しているのだとしたら、
それは事実上mallocの実装そのものだから
その内部で(システムコールを呼んで)カーネルに返しているかどうかは
HeapAllocの実装次第。

>>506の通りにsbrk()経由とするなら、その中で何が呼ばれてるかだね。
512名無しさん@そうだ選挙に行こう:2009/08/30(日) 11:45:11
OS によってメモリ管理に関する方針はかなり違うけど、
Linux の場合は「なるべくめいっぱい活用する」方針だったと思う。
普通に使ってたら空いてるメモリはほとんどなくなるはず。
513自己レス:2009/08/30(日) 21:40:30
>>501-503ありがとう
どうやってもldが「undefined reference to ○○」言ってくるんですよ

>>500こうなったらもうインポートライブラリに頼らないで直接呼んじゃる!!!
という方針で書いてみた(といってもほとんどhttp://www.atmark.gr.jp/~s2000/r/rtl/shlwapi.html )のが↓
514デフォルトの名無しさん:2009/08/30(日) 21:41:37
#include <windows.h>
#include <stdio.h>

typedef int (*TFUNC)(LPCTSTR,LPTSTR,UINT);

int main(int argc, char *argv[]) {

char str[100];
int ret;

HINSTANCE hInstDLL;
TFUNC DllFunction;
515デフォルトの名無しさん:2009/08/30(日) 21:42:37
hInstDLL = LoadLibrary( "SHLWAPI.DLL" );
if( hInstDLL == NULL ){
printf( "hInstDLL == NULL" );
return -1;
}else{}


DllFunction = (TFUNC)GetProcAddress( hInstDLL,"PathSearchAndQualifyA" );
printf( "DllFunction : %d\n", (int)DllFunction );

ret = DllFunction(".",str,100);
printf( "ret=%d,str=%s\n", ret , str);

if(!FreeLibrary(hInstDLL)){
abort();
}else{}

return 0;
}
516デフォルトの名無しさん:2009/08/30(日) 21:54:41
517デフォルトの名無しさん:2009/08/30(日) 22:25:58
>>513
gcc は実はインポートライブラリ無しでも dll とリンクできる。
-lshlwapi の変わりに /cygdrive/c/WINDOWS/system32/shlwapi.dll としてみれ。
518デフォルトの名無しさん:2009/08/30(日) 22:27:10
gcc version 3.4.5 (mingw-vista special r3) だと>>500の方法で何の問題もないね。
519デフォルトの名無しさん:2009/09/01(火) 16:29:51
>>378, 379

TDM版MinGW使ってみた。なかなか良くてCode::Blocksとの相性もバッチリなんだが,
STLがやたら遅い(gccの問題だと思う)ので,STLPort5.2.1をビルドしようとしたら,
うまく行かない。

一応ドキュメントも読んだんだが,MSYS上からmake gcc.makってやっても「何もすることが
ない」って言われてビルドできない。

TDM版MinGWにはmake.exeはなくてmingw32-make.exeしかないけど,これは使っちゃいけないと
書いてあるので,MSYSにあるmake.exeでやってみたんだが...

やり方教えてもらえると嬉しい。

520デフォルトの名無しさん:2009/09/01(火) 19:21:10
>>519
make -f gcc.mak じゃね?
521519:2009/09/01(火) 20:32:50
>>520

> make -f gcc.mak じゃね?

そうそう、まずそれだった。普段IDEばかり使ってるんでmakeコマンドの使い方忘れてた。
で、まずは落ち着いてやってみようと思って、MinGWを通常の5.1.4に戻して、
>>331を参考にSTLport5.1.7をビルドしてみた。

gcc.makというファイルは二箇所にあるけど、\build\libの下のヤツを使って、

make -f gcc.mak depend
make -f gcc.mak install

でビルド成功。ちなみに>>331の、

> # if (__W32API_MAJOR_VERSION > 3) || ((__W32API_MAJOR_VERSION = 3) && (__W32API_MINOR_VERSION >= 12))

の = 3 のところは、== 3 が正解。で、ビルドは出来たんだけど、C++版Hello World!プログラム(iostream使うやつ)
で試してみたら、コンパイル時に「#includeのネストが深すぎる」ってエラーがでた。
今仕事場にいないので詳細はわからない。続きはまたあしたかな...
522519:2009/09/02(水) 18:28:05
MinGW5.1.4+STLPort5.1.7でテストをしてて,STLPortのビルドは出来たけど(Thanks to >>331),
使うとうまく行かない。 以下のHello world!! C++版をコンパイルしてみた。

#include <iostream>

using namespace std;

int main()
{
  cout << "Hello world!" << endl;
  return 0;
}

環境変数は入念にチェックして,MinGW標準のC++用ヘッダがインクルードされずに,stlportのヘッダが
読み込まれるようにしたんだが,コンパイルすると_cstddef.hの28行目の

# include _STLP_NATIVE_CPP_C_HEADER(cstddef)

のところで,

C:\MinGW\include\stlport\stl\_cstddef.h|28|../3.4.5/cstddef: No such file or directory

と言うエラーが出て,後はエラーの嵐。grepでいろいろ調べた結果,MinGWの場合
_STLP_NATIVE_CPP_C_HEADERの定義がうまく出来てないらしいことまではわかったんだが,
どうすればいいんだろ。教えてエライ人。
523519:2009/09/03(木) 18:00:08
何とか自己解決。

■ビルドはMSYS付属のmakeじゃなくて,WindowsのコマンドプロンプトからMinGWの
 mingw32-makeでやる(ドキュメントをよく読んでたら書いてあった)。但し,MSYS使わ
 ない場合はconfigure.bat -c gcc しろって書いてあるけど,これはウソ。
 configureしてからメイクすると速攻エラーが出る。

 mingw32-make -f gcc.mak depend
 mingw32-make -f gcc.mak install

 だけでOK。

■unitテストはロケール関係で少しエラーが出た。ehテストはso_stlgだけ,

EH TEST FAILURE !
[deque] :testing range insertion at random position (weak)
ERROR : 37 outstanding allocations.

となったが,so_gとsoはパス。ちなみにこのso_stlg, so_g, soというフォルダに3つ
同名のテストプログラムが出来るけど,違いは何なの?(unitテストsoとso_stlgの
2つのフォルダ内にexeができる)。

■STLPortのヘッダやライブラリを置いた場所や元のMinGWのフォルダ構成にあわせて,
 stlport/stl/config/host.h を丁寧に書き換えてやる必要がある。

まぁ,いろんな環境に対応しなければならないので作る側の苦労はこんなもんじゃないと
思うが,ドキュメントはもう少し整備してまとめて欲しいなぁ...
524デフォルトの名無しさん:2009/09/08(火) 09:41:40
TDM-MinGW4.4.1出てるな
525デフォルトの名無しさん:2009/09/08(火) 12:01:32
>>524

・・・あの、4.4.0がインストールしてある場合、
アップデートするには

Create
: Create a new TDM/MinGW installation
Manage
: Manage an existing TDM/MinGW installation
Remove
: Remove a TDM/MinGW installation

のうちどれを選べば最も望ましいでしょうか?
526デフォルトの名無しさん:2009/09/08(火) 12:21:43
>>525
知らんけどRemoveしてからインスコすればいいんじゃね?
527デフォルトの名無しさん:2009/09/08(火) 12:23:18
>>525
俺はそういうメニューが出るとは知らなかったので
プログラムの追加と削除から消してCreateした
でもRemoveしてCreateしてもいいかもな
528デフォルトの名無しさん:2009/09/08(火) 12:59:56
529デフォルトの名無しさん:2009/09/08(火) 13:01:55
>>524
これ使うと,サイトの上の方にピンクの囲みで書いてあるとおり,実行のものすごく遅い
プログラムが出来上がってしまう。

それでcoreとg++はサイトの下の方にある4.3.3を使ったら解決したよ。
530デフォルトの名無しさん:2009/09/08(火) 14:29:16
Cygwin1.7でmpich2がmakeできんな。
clockとかシステムコールがないとか・・・
素直にWIndowsバイナリ入れるかな・・・
531デフォルトの名無しさん:2009/09/08(火) 14:57:20
WARNING:
The 4.4.1-tdm-1 release is known to have a bug which causes drastically increased CPU usage in programs compiled with it. You are urged to use a previous release until this bug is fixed.

excite&俺訳↓
警告:
4.4.1-tdm-1リリースにはそれでコンパイルされたプログラムがCPUパワーをものすごく使うようになってしまうバグがあるのが知られています。このバグが修正されるまであなたが前のリリースを使用することを推奨します。

マジかよ!おじさん、気付かず更新しちまったぜ
532525:2009/09/08(火) 15:03:06
みなさんありがとうございます。
どうやら
CreateとManageの違いは、
Manageの場合はインストール先のパスなどが引き継がれて便利ということ
だけっぽいです(完全に私の勘ですが)。


・・・ですが、インストールしてみたところに>>529さん、>>531さんのレスをみて
即刻以前のインストーラを使って元に戻しました。

533デフォルトの名無しさん:2009/09/08(火) 15:08:15
>>531のレスを見て疑問なのですが、
これはgcc4.4.1のバグでしょうか?
それとも 4.4.1-tdm-1 release独自のバグなのでしょうか?

ご教示いただけませんでしょうか?
よろしくお願い申し上げます。
534デフォルトの名無しさん:2009/09/08(火) 15:42:48
> gcc4.4.1

Fortran, C, and C++ for Windows
http://www.equation.com/servlet/equation.cmd?call=fortran
 ↑
こっちのは別に問題なさそうだけど。
535デフォルトの名無しさん:2009/09/08(火) 15:44:01
>>534
となるとTDMのバグの可能性が高そうですね。
ありがとうございます。
536デフォルトの名無しさん:2009/09/08(火) 21:53:01
どうせいずれ直るでしょ
俺は速度はそんなに気にしていない(コンパイルが通って動けばいい)派
なので気にしていない
537デフォルトの名無しさん:2009/09/08(火) 21:56:49
TDMが止めた方がいいっていってるんだから
俺は止めとこう。

・・・ってまあホント好き好きにすりゃ良い問題だよな。
538529:2009/09/08(火) 22:27:35
>>536

> 俺は速度はそんなに気にしていない(コンパイルが通って動けばいい)派
> なので気にしていない

それがさぁ、条件によっては実用にならない位遅くなるんだよ。
100行位のUNIDCODEのファイルを読み込ませて処理するソフトでテストしたら(STL使用)、
VC++やBCBでコンパイルしたものは数秒で終わるのに、TDM-MinGW4.4.1だと
10分位かかった。

で、>>529に書いたように、coreとg++だけ4.3.3をダウンロードして上書き解凍してコンパイルし
なおしたら、ちゃんと数秒で終わるようになった。
539デフォルトの名無しさん:2009/09/08(火) 22:35:55
>>538
そんなにひどいのか
じゃあ4.3.3に戻すか
簡単に戻せるしね
SourceForgeからDLできるのであっという間だし
540デフォルトの名無しさん:2009/09/08(火) 22:53:26
mingwはTDMが標準なのかな?
541532:2009/09/08(火) 22:56:32
>>538

g++ (TDM-1 mingw32) 4.4.0に戻したのですが、
これもバグを抱えていますか?
4.3.3レベルまで戻す必要はありますでしょうか?
542529:2009/09/08(火) 23:00:39
>>541

ごめん、4.4.0は持ってないし試してないのでわからない。
けど、サイトにそうは書いてないから大丈夫なんじゃないのかな?
543532:2009/09/08(火) 23:44:02
>>542
ありがとうございます。
過去のサイト(Web魚拓みたいなもの)をあさって見たのですが
4.4.0リリース時点までは戻れなくて。。。
544デフォルトの名無しさん:2009/09/09(水) 22:25:47
TDMってbashが入ってないけどconfigureはどうればいいの?
545デフォルトの名無しさん:2009/09/09(水) 23:37:14
TDMに限らずMinGWにはbashは入っていない
msysを落とせ
546デフォルトの名無しさん:2009/09/10(木) 00:30:20
>>545
トンクス
547デフォルトの名無しさん:2009/09/10(木) 22:45:45
いま64bit windows環境がなくて試せてないんだけど、mingw-w64ってどう?
548デフォルトの名無しさん:2009/09/10(木) 23:35:40
>>507
メモリ不足でNULLが返るかというと微妙。
mallocは成功して、実際にメモリを使う時(読み書き)すると初めてメモリを割り当てて不足したらそこで止まるようなシステムもある。
Linuxなんかはそう。
549デフォルトの名無しさん:2009/09/10(木) 23:47:17
そんなのあるのか…manpageでバグ扱いされてるな
550デフォルトの名無しさん:2009/09/11(金) 00:52:47
>>548
ここはCygwinのスレであって、Linuxのスレではないし
落ちるのがmalloc内部と限定される場合には当てはまらない。

だいたい、「落ちる」と言っても
セグフォールトのような症状で落ちるのではなく
「有無を言わさずプロセスがkillされる」だけなのだから。
551デフォルトの名無しさん:2009/09/11(金) 00:58:08
それも、殺されるのは自プロセスとは限らない、
というより、自分以外である方が普通。
552デフォルトの名無しさん:2009/09/11(金) 01:35:15
制限なんて作らなかったら良かったのに
553デフォルトの名無しさん:2009/09/12(土) 12:24:54
Browse TDM's GCC/MinGW32 Builds Files on SourceForge.net
ttp://sourceforge.net/projects/tdm-gcc/files/
ここの
1.902.0
 tdm-mingw-1.902.0-f1.exe
 tdm-mingw-1.902.0-f2.exe
 tdm-mingw-1.902.0-webdl.exe
これら3リリースの違いを教えていただけますでしょうか?

554デフォルトの名無しさん:2009/09/12(土) 15:39:34
>>553
As a general rule, you should choose the default SJLJ packages,
unless you know you need faster exception handling and can guarantee
you'll never need to unwind through non-DW2-compiled stack frames
(such as a Windows callback). If you chose the DW2 packages,
consider removing the "-dw2" suffix from the program names.
See README-gcc-tdm.txt, included in the core package,
for further notes on this topic.

つまりSJLJ(f1)を優先的に使えと

Dwarf-2(f2)を使うのは、速い例外処理と、DW2でコンパイルされた
のではないスタックフレーム(Windowsのコールバックのような)を解放する
必要が無い事を保証できる

もしf2を使うなら、プログラム名から"-dw2"接尾辞を削除する事を
考慮しなさい

つまりコールバックを多用してまたより速い例外処理が必要ならf2を、
そうでなければまずf1を選べという事でしょう

webdlはオンデマンドインストールで、画面から何をダウンロードして
インストールしたりアンインストールするか決めれるというだけのもの
でも便利

最終的にはどうすればいいかというと上の注意に従いながらwebdlで
インストールすればいいという事になる
555デフォルトの名無しさん:2009/09/12(土) 15:41:25
あ、訳がおかしいな

×もしf2を使うなら、プログラム名から"-dw2"接尾辞を削除する事を考慮しなさい
○もしf2を使うなら、プログラム名から"-dw2"接尾辞を削除するかどうかよく考えなさい
556デフォルトの名無しさん:2009/09/13(日) 00:16:58
ttp://pc12.2ch.net/test/read.cgi/tech/1251773567/
に居た者ですが、TDM-MinGWの問題のため、こちらに参りました。

  ttp://codepad.org/zASwhl4f
  このコード、codepadで実行させると上のリンクのように正常に動作しているようですが、
  私の環境g++ (TDM-1 mingw32) 4.4.0ですと
  0.1
  -9.25596e+061
  と表示されてしまいます。

という問題が生じておりまして、
  TDM-MinGW4.3.3 -> ×
  TDM-MinGW4.4.0 -> ×
  TDM-MinGW4.4.1 -> ○
  ということで、
  TDM-MinGW4.4.1で修正されたバグだったようです。
という一応の決着をみました。

しかし本当にバグであったかを確認したく、
皆様、
 「Windowsで」
 TDM-MinGW4.3.3 , TDM-MinGW4.4.0 , TDM-MinGW4.4.1
を入れている方がいらっしゃいましたら、
宜しければ是非
ttp://codepad.org/zASwhl4f
を試して頂けませんでしょうか?
557554:2009/09/14(月) 07:03:12
>>555
なるほど。
とても良く分かりました。
本当にありがとうございました。
558553:2009/09/14(月) 07:03:54
>>554-555
すみません間違えました。
私はしがない>>553でございます。
ありがとうございました。
559デフォルトの名無しさん:2009/09/14(月) 11:18:38
>>550
mingwでも巨大なメモリをアロケートしたプログラムは途中まで処理が進んだ状態で落ちる(windowsのエラーダイオログが出て)がね。
ぬるぽチェックでは止まらんよ。
560デフォルトの名無しさん:2009/09/14(月) 16:04:59
じゃあLinuxとは違うじゃねーか。
Linuxは何事も無かったように、どこかの知らないプロセスを落として
メモリを確保するんだから。
561デフォルトの名無しさん:2009/09/14(月) 16:08:28
Cygwinの話じゃなくてMingwもかい。

Mingwだったら、HeapAllocをそのまま使えば
ちゃんとNULL返してくれるのに。
バカみたい。
562デフォルトの名無しさん:2009/09/15(火) 00:45:37
>>559
例えば、↓のようなコードでは全然落ちない(普通にNULLが返る)んだけど
再現するコードを例示してくれ。

まさかとは思うが、newを使っていて
bad_allocをcatchしてないから落ちるってオチじゃないよね。
563デフォルトの名無しさん:2009/09/15(火) 00:47:20
void test(unsigned nmegabytes, std::vector<void *>& saver) {
 unsigned alloced = 0;
 printf("[%u]MByte\n", nmegabytes);
 for (;;) {
  void *p = malloc(nmegabytes * 1024 * 1024);
  if (!p) {
   printf("malloc() returns NULL at allocated %uMB\n", alloced);
   break;
  }
  *(int *)p = 0; // アクセス違反で落ちる?
  alloced += nmegabytes;
  saver.push_back(p);
 }
 // clear
 for (std::vector<void *>::iterator it = saver.begin(), end = saver.end(); it != end; ++it) {
  free(*it);
 }
 saver.clear();
}
int main() {
 std::vector<void *> saver;
 saver.reserve(4 * 1024);

 test(1, saver);
 test(50, saver);
 test(500, saver);
}
564デフォルトの名無しさん:2009/09/15(火) 01:11:12
>>563
C++かとおもいきや、malloc使ってるのかよw
えっと、とりあえずそんなに領域確保出来たっけ。

ってことで、
  if (!p) {
   printf("malloc() returns NULL at allocated %uMB\n", alloced);
   break;
  }

if (!p) {
printf("malloc() returns NULL at allocated %uMB\n", alloced);
perror("error");
exit(EXIT_FAILURE);
break;
}
と書き換えてみれば、何が原因で落ちたかわかるよ。
あと、pが確保出来てないのに、そこでbreak;しちゃうと、そりゃその後でアクセス違反で落ちるよw

565デフォルトの名無しさん:2009/09/15(火) 01:14:22
だから「落ちねー」ってのタコ。

「ちゃんとNULL返してる」っての。
566デフォルトの名無しさん:2009/09/15(火) 01:15:22
さっさと「落ちるコード」出せやボケ
567デフォルトの名無しさん:2009/09/15(火) 01:17:51
>>565-566
同意だがそんなにカリカリすんなよ(´・ω・`)
568デフォルトの名無しさん:2009/09/15(火) 01:17:57
ごめん流れ読んでなくて、単なる質問だと思ったw
569デフォルトの名無しさん:2009/09/15(火) 20:48:34
ふつうにOllyDbgあたりのデバッガアタッチして追ったらダメなの?
570デフォルトの名無しさん:2009/09/23(水) 22:49:36
ttp://www.tdragon.net/recentgcc/

 WARNING:
 The 4.4.1-tdm-1 release is known to have a bug which causes drastically increased CPU usage in programs compiled with it. You are urged to use a previous release until this bug is fixed.
これが修正されるのはいつですか?
571デフォルトの名無しさん:2009/09/24(木) 07:14:29
>>570
知らねえ
嫌ならTDMじゃないMinGWを苦労して入れてそっち使ってろよ
572デフォルトの名無しさん:2009/09/24(木) 11:37:37
>>571
それもめんどくさい
まあ問題が出るようだったら古い版のTDM使うことにするけど。
573デフォルトの名無しさん:2009/09/26(土) 11:23:46
64bit のmingw入れて、32bit用のアプリを
生成するにはどうすれば良いの?
574デフォルトの名無しさん:2009/09/26(土) 11:46:53
-m32?
575デフォルトの名無しさん:2009/09/26(土) 20:46:01
だな
576デフォルトの名無しさん:2009/10/02(金) 13:01:44
MinGW と Msys を去年の10月ごろ入れて
gcc のバージョンが
gcc version 3.4.5 (mingw-vista special r3)
なんですが
netdb.h sys/socket.h netinet/in.h がインクルードできません
最新版にすればインクルード出来るでしょうか?
Cygwin にしないとダメなんでしょうか?
577576:2009/10/02(金) 14:51:31
何か3.4.5 だとSJISもうまくコンパイルできないようなんですが
3.4.2とかを入れないといけないのでしょうか?
578デフォルトの名無しさん:2009/10/02(金) 15:06:46
>>577
当然、-finput-charset=cp932とかやってるんだろうね。
579デフォルトの名無しさん:2009/10/02(金) 15:14:14
>>578
やっていません。
3.4.5 でも
そのオプションをつければいけるのでしょうか?
今やっているのは取りあえず通らない文字を削っているのです

取りあえず、SJIS はいいとして、インクルードファイルは、3.4.2 とかにしないといけないのでしょうか?
580デフォルトの名無しさん:2009/10/02(金) 15:21:26
全部試してみればいいじゃないか
無料なんだから、めんどくさがってないで自分で解決してみろ
581デフォルトの名無しさん:2009/10/02(金) 15:35:55
>>576
MinGWならwindows APIのソケットを使って下さい。
582デフォルトの名無しさん:2009/10/02(金) 17:37:59
4.3.2 にして、色々試していたらコンパイルもリンクも出来ました
皆さん、どうもありがとうございました。
583デフォルトの名無しさん:2009/10/04(日) 20:25:46
MSYSにVIMインストールするにはどうしたらいいんですか?
584デフォルトの名無しさん:2009/10/04(日) 20:36:11
手順
1. vim をインストールする
585デフォルトの名無しさん:2009/10/04(日) 20:40:14
>>583
vimのソースをダウンロードして解答したら中に
「INSTALL」か「README」っていうファイルがあるはずだからそれを読んでください。
大概、.configure; make; make install とかすることになりそうだけど。
586583:2009/10/04(日) 21:20:04
MinGW+MSYS環境なのですが,yumみたいなのはついていないのでしょうか?
587デフォルトの名無しさん:2009/10/04(日) 21:27:13
よくよく確認してみると、vimってMSYSにデフォルトで入ってるみたいなんだが。
588デフォルトの名無しさん:2009/10/04(日) 21:31:53
そういう何もかも込み込みの環境を提供しようとするものではない。
基本的には configure と make が動くところまでって感じ。
589デフォルトの名無しさん:2009/10/04(日) 21:33:46
そうなんですね.
じゃあソースおとしてコンパイルしてみます.

最新版のMSYSにはVIMがはいっていないみたいなんですよね
590デフォルトの名無しさん:2009/10/04(日) 21:39:51
msysDTK の方に入ってるかも?
591デフォルトの名無しさん:2009/10/04(日) 21:40:34
>>589
一応公式サイトにMSYS用のvimのバイナリっぽいものがあるけど、試しては無い。
592デフォルトの名無しさん:2009/10/04(日) 21:43:29
>>590
いや、DTKにはエディタ系は入ってないっぽい。
http://sourceforge.net/project/shownotes.php?release_id=131044
593590:2009/10/04(日) 22:55:06
あれ?
わざわざ入れたことは無い (だって Emacs 派だから!) はずなんだけど俺の環境には vim は入ってるなぁ。
何かと一緒に入ったんだと思うんだけど、 DTK じゃなかったか。
594デフォルトの名無しさん:2009/10/05(月) 22:42:17
TDMいつになったら直るんだ。
次のg++のバージョンまで直す気がないとか?


と思ったら似たようなレスが
>>570でも出ていたか。
595デフォルトの名無しさん:2009/10/05(月) 23:40:31
早くバグ直せゴルァ!メールでも送るとか
596デフォルトの名無しさん:2009/10/06(火) 01:13:33
http://sourceforge.net/projects/mingw/files/
MSYS vimに分離されたようだね

ところで.tar.lzmaファイルってWindowsでは対応ソフト少ないような気がするんだ・・・
お前さんがたはtar使ってるの?
597デフォルトの名無しさん:2009/10/06(火) 01:23:44
俺のtarはv1.13だからlzmaは対応してません。(キリッ)
598デフォルトの名無しさん:2009/10/06(火) 01:53:27
俺んとこのtarも1.13だ
mingw32-gcc-4.4.0が出たときは結局Linuxで展開してからWindowsに持ってきたよ
ちょっと解せないものを感じた
599デフォルトの名無しさん:2009/10/06(火) 02:07:22
windowsじゃないOSでクロスビルドした方が効率いいからね
600デフォルトの名無しさん:2009/10/06(火) 02:54:40
tdmのソースの中のehstatic.patchにこんなことやってるところがあるんだけど
+   HANDLE hmutex = CreateMutexA(0, FALSE, name);
+ if (WaitForSingleObject(hmutex, INFINITE) != WAIT_OBJECT_0)
+ __w32sp_trap();
601デフォルトの名無しさん:2009/10/06(火) 11:37:29
crt2.oのソースはどこにあるんだ?
602デフォルトの名無しさん:2009/10/06(火) 11:52:37
crt0.oのソースはどこだ?
603デフォルトの名無しさん:2009/10/06(火) 11:58:40
604デフォルトの名無しさん:2009/10/06(火) 13:41:24
>>603
ありがとう。

これで-municodeが使えるようになるといいが。
http://www1.axfc.net/uploader/Sc/so/42950.zip
605デフォルトの名無しさん:2009/10/06(火) 20:42:21
>>596
俺は7-Zipが.tar.xzに対応するのを待っている。
606デフォルトの名無しさん:2009/10/07(水) 11:25:40
>>593
vimは一個前のMSYSの本体に入ってたが最新版で別パッケージに分離された.
607デフォルトの名無しさん:2009/10/09(金) 10:36:21
2009-10-08
TDM-2
fixing the bug that caused a major slowdown in nearly any non-trivial program.
608デフォルトの名無しさん:2009/10/09(金) 11:28:08
>>607
待ってました! 情報サンクス!
609538:2009/10/09(金) 11:50:25
早速>>607紹介のバージョンに入れ替えて>>538の問題をテストしてみた。
直ってる!ヨカッタ。
610デフォルトの名無しさん:2009/10/09(金) 12:13:03
キター
611デフォルトの名無しさん:2009/10/09(金) 12:13:13
MinGWでUnicodeアプリケーションが作れないのだろうか?
612デフォルトの名無しさん:2009/10/09(金) 12:30:05
>>611
Unicodeアプリケーションが何を指してるのか知らないが、
俺はutf-8でソースコード統一して書いてるけど正常に動作してるよ。
内部での文字列比較とか問題なく動く。
613612:2009/10/09(金) 12:30:54
ただし、外部から入力される文字列は全部utf-8に変換してるけど。
614デフォルトの名無しさん:2009/10/09(金) 12:52:38
__wargvが使えないみたいだけど。
615614:2009/10/09(金) 14:25:00
CommandLineToArgvWを使うことにした。
616デフォルトの名無しさん:2009/10/09(金) 15:36:12
>>607
入れたd

On Demand Installの方はバグがあるらしく途中で止まるな
26.2MBの方を落としてインストールすればOK
617デフォルトの名無しさん:2009/10/09(金) 23:03:53
おおホントだ。
上で既出だけどパピコ。
TDM's GCC/mingw32 Builds
ttp://www.tdragon.net/recentgcc/
NOTICE:
The 4.4.1-tdm-2 release is now available. If you were using the first 4.4.1 release, you are urged to upgrade to this new version in order to avoid a bug that caused drastically increased CPU usage in programs compiled with the first version.
618デフォルトの名無しさん:2009/10/11(日) 17:26:32
ちゃんと測定したわけじゃないんだが、4.3.3より4.4.1-tdm-2の方がかなりコンパイル速くなってる
気がする。

環境が違うんで単純には比較できないけど、wxWidgets2.8.10の全種類(8種類)のライブラリのビルドに
4.3.3の時は12時間近く掛かってたのが、今日、自宅のマシン(もう4年位前のたいしたことないPC)で
やってみたら3時間くらいで終わった。
619デフォルトの名無しさん:2009/10/11(日) 22:07:09
>>618
きみ、前にC::Bのスレにいた子?
620デフォルトの名無しさん:2009/10/11(日) 22:17:00
>>619
50前だが。
621デフォルトの名無しさん:2009/10/13(火) 14:52:05
mingw 上でなにか make しようとすると

大抵 libintl.la がとか gettext がとか文句を言われて
コンパイルできない

http://gnuwin32.sourceforge.net/packages/gettext.htm

ここにバイナリが置いてあるかと思い落としてきてみるも
libintl3.dll とかよくわからないファイルが入ってます…

これを libintl3.dll -> libintl.la として動かすこと
できるでしょうか?

sourceからbuildしないと駄目なのでしょうか

もしそうだとすると複数の窓環境にインストールするとか
不便すぎる mingwを入れて
perl5.8.1以上をmingw上の/usr/bin下にインストールして
gettetxt を make して、ようやく目的のソフトに取りかかれるorz
622デフォルトの名無しさん:2009/10/13(火) 14:56:45
というかmingw のperl は5.6.1でそのままだと
gnu のソフトがビルドできないような…
623デフォルトの名無しさん:2009/10/13(火) 18:30:37
>>621
それを「よくわからないファイル」とか言ってしまう奴がなんで mingw 使ってんの?
Developer files や Dependencies も必要。
全部スタティックリンクにしたいならソースからビルド。
624デフォルトの名無しさん:2009/10/13(火) 20:23:23
msysのパッケージ管理が今ひとつだからね。
fedoraでmingw32のパッケージ入れて、クロス開発する方がいいかも
625デフォルトの名無しさん:2009/10/15(木) 01:50:01
う、うん……(´・ω・`)
626デフォルトの名無しさん:2009/10/17(土) 23:06:33
gcc-tdmと、http://sourceforge.jp/projects/sfnet_mingw-w64/
はどっちがいいのか教えて。
サイズ的には、mingw-w64のほうが多いけどこっちの方が性能上?
627デフォルトの名無しさん:2009/10/17(土) 23:10:46
>>626
そんなのあるんだー。
前者はTDM/MinGW Installerってやつだよね。
インストーラ.exeの形で配布されているけど、
後者は初めて見た。
これもインストーラだったかい?
628デフォルトの名無しさん:2009/10/17(土) 23:14:27
mingw-w32-bin_i686-mingw_20091013.zip

っていうやつ今落としてるところ。

サイズが200M超えていて、回線遅くて中身がどうなっているか確認できていない。
629デフォルトの名無しさん:2009/10/17(土) 23:19:48
書庫形式でTDM/MinGWのサイズ8倍あるから
こっち入れれば何でもコンパイルできるんじゃないかとわくわくしてる所。
たとえばffmpegが追加なしで出来たりとか。
630デフォルトの名無しさん:2009/10/18(日) 00:06:43
どうせAdaとかFortranとかObjective-Cが入っているだけだろうと予想
631デフォルトの名無しさん:2009/10/18(日) 00:07:00
さっさと普通にGCC4 & 64bit対応になれよ。
632デフォルトの名無しさん:2009/10/18(日) 00:19:04
MinGW-w64 - for 32 and 64 bit Windows
633デフォルトの名無しさん:2009/10/18(日) 00:20:28
>>632
別のプロジェクト作るなってこと。

mingwの公式はここだけだ。
http://www.mingw.org/
634デフォルトの名無しさん:2009/10/18(日) 00:22:34
本家は、停滞してるからね
635デフォルトの名無しさん:2009/10/18(日) 07:21:22
そう,だから最近はTDM's branch使う人が増えてるわけで...
636デフォルトの名無しさん:2009/10/18(日) 08:02:03
>>629

単にビルドされたgccのファイルに stripをかけてないだけだったりして。

ちなみに cc1.exe strip前 約40M strip後 約8M
637デフォルトの名無しさん:2009/10/18(日) 10:07:48
TDM/MinGWは便利。
いちいちビルドする気力がでない俺には最適。
638デフォルトの名無しさん:2009/10/22(木) 01:06:48
すんまそん。libgmp-3.dllとlibmpfr.dllどうやったら手に入りますかね。
639デフォルトの名無しさん:2009/10/22(木) 02:22:17
640デフォルトの名無しさん:2009/10/22(木) 19:02:16
>>639
thx 助かりました。
641デフォルトの名無しさん:2009/10/23(金) 00:45:53
linux&gcc-4.2.4で下のコードをコンパイル後nmでみると
"W"(大文字:デフォルト実装付きweak)となるけど、
cygwin&gcc-4.3.2だと"w"(小文字:デフォルト実装無し
weak)になる。4.2->4.3で仕様が変わった?
それともPEフォーマットのせいですか?
--------------------
__attribute__((weak)) void func(void) {}
642SgqcXuBDWWHrdWG:2009/10/23(金) 22:24:58
If you do have a choice of surgeon or hospital, ask the surgeon the following questions: What are your qualifications? ,
643デフォルトの名無しさん:2009/10/24(土) 10:04:51
On some systems, uppercase indicates that a default value has been specified.
644デフォルトの名無しさん:2009/11/02(月) 03:00:41
MinGW g++ 3.4でビルドして作成したライブラリを
MinGW g++ 4.4.0でビルドしたソースとリンクして使用できますか?
645デフォルトの名無しさん:2009/11/02(月) 08:29:01
>>644
丁度Qtでそれに引っ掛かって,某フォーラムでバイナリの互換性がないことを
教えてもらったばかり。

但し,俺のところではTDM's MinGW gcc(g++) 4.4.1で,本家MinGW g++ 3.4.5で
ビルドしたライブラリが使えている(完全に大丈夫かどうかは不明)。
本家のg++4.4.0は,本家g++ 3.4.5でビルドしたライブラリが使えない。
646デフォルトの名無しさん:2009/11/02(月) 15:43:12
>>645
情報ありがとうございます。
やっぱり使えないんですね。
647デフォルトの名無しさん:2009/11/03(火) 02:57:00
MinGWでビルドしたdllと、それをダイナミックリンクしているexeの組み合わせが
Windows7で動作しない(DLLを読み込めていない?ちなみにXP/VistaではOK)らしいのですが、
Win7との相性についてどこかに情報ありますでしょうか?

自分で試せるのはXPとVistaだけなので状況がさっぱり...
648デフォルトの名無しさん:2009/11/03(火) 21:10:43
He_251110.bz2
649デフォルトの名無しさん:2009/11/03(火) 21:35:50
650デフォルトの名無しさん:2009/11/03(火) 21:45:52
export PATH=$PATH:/mingw/bin:/mingw32/bin:/usr/local/bin:$HOME/local/bin
export GCC_VER="4.4.0"

export LIBRARY_PATH=/mingw/lib:/mingw32/lib:/mingw/lib/gcc/mingw32/${GCC_VER}:/usr/local/lib:$HOME/local/lib
export LD_LIBRARY_PATH=$LIBRARY_PATH
export LD_RUN_PATH=$LIBRARY_PATH

export INCLUDE_PATH=/mingw/include:/mingw32/include:/mingw/lib/gcc/mingw32/${GCC_VER}/include:/usr/local/include:$HOME/local/include
export C_INCLUDE_PATH=$INCLUDE_PATH
export CPLUS_INCLUDE_PATH=$INCLUDE_PATH


コンパイルに必要な環境変数を.bashrcにかいたのだが
あと何か定義しておいたらいい環境変数はある?
651デフォルトの名無しさん:2009/11/03(火) 21:55:29
INCLUDE_PATHにlibのpathって入れるんだっけ
652デフォルトの名無しさん:2009/11/04(水) 09:54:35
>>651
gcc3系統とgcc4系統ではディレクトリ構成が変わっていて,gcc4系統の場合はlibの奥にもヘッダファイルが
あるので,入れる必要があります。
653デフォルトの名無しさん:2009/11/04(水) 23:32:49
MinGW使うなら、PATH以外の環境変数は設定いらなくね?
654デフォルトの名無しさん:2009/11/07(土) 00:01:10
友達がプログラミング勉強したいっていってるんだけどやっぱ

進める環境としてはdev c++ とmingwがいいかな
655デフォルトの名無しさん:2009/11/07(土) 00:03:49
VC2008EEじゃねーのか?
656デフォルトの名無しさん:2009/11/07(土) 00:11:45
>>654
単にプログラミングの勉強ならば、
WindowsでVisualBasicが面倒なくて鉄板でしょ。
Unixの世界は、環境構築とツールの使用法の習得だけで
挫折する人がいるくらいのカオスな世界だから、
できれば知らない方が幸せよ。
657デフォルトの名無しさん:2009/11/07(土) 00:34:09
>>656
> 単にプログラミングの勉強

変ったジャンルですね。
658654:2009/11/07(土) 04:16:13
>>656

僕的にはdev c++のほうがインストールが早いし、設定、認証が要らないから
こっちのほうが簡単だと思うんですけどね。やっぱVCとかVBですかね
659デフォルトの名無しさん:2009/11/07(土) 08:45:22
Dev-C++はTDM-MinGWと組み合わせて俺もインストールしてあるけど
何と言ってもメニューが全部英語なのと、gccそのものがオプションが複雑で
決して初心者向けではないという事情を考えてVCを推している

でも自分でその壁を乗り越えられる人であればgccの方が標準準拠度は
高い
660デフォルトの名無しさん:2009/11/07(土) 13:56:55
お勉強ならLL言語でいいでしょ。
CUIベースでC, C++なんてやってもイベント丼の概念が理解できなくなる。
661デフォルトの名無しさん:2009/11/07(土) 14:22:10
つまり Tcl/Tk やっとけということだな
662デフォルトの名無しさん:2009/11/08(日) 00:30:47
>>659
日本語化されたのが、確か2つくらいあったはず。sけいし氏のヤツは割りと有名
かと思ってたんだがそうでもないのか。
一時VC2003と交互で使ってたけど、x64環境に移行してからはVC2008しかt

これ以上はスレチだな。
663デフォルトの名無しさん:2009/11/10(火) 00:33:10
Dev-c++ と一緒に入ってくる gcc3.4.2 を
TDM-MinGW gcc4.4.1 に入れ替えたのですが、
gcc3.4.2
・iostreamをincludeするだけで、EXIT_SUCCESSマクロもatof()関数も使用できた
・iostreamをincludeするだけで、clock()関数が使用できた
gcc4.4.1
・cstdlibをincludeしないと、EXIT_SUCCESSマクロもatof()も使用できない
・ctimeをincludeしないと、clock()関数が使用できない

という挙動になります。
どっちが正しいんですか?
664デフォルトの名無しさん:2009/11/10(火) 00:38:09
>>663
4.4.1 の方がより規格に沿っていると言える。
665デフォルトの名無しさん:2009/11/20(金) 23:46:28
MinGWで日本語を表示するにはどうすればいいんですかー?(>_<)
666デフォルトの名無しさん:2009/11/20(金) 23:49:25
>>665
-finput-charset=cp932 -fexec-charset=cp932
をコンパイル時に付ける
するとEUCに変換してからコンパイルしてくれるのでダメ文字の問題は起きない
667デフォルトの名無しさん:2009/11/20(金) 23:51:16
UTF-8
668デフォルトの名無しさん:2009/11/21(土) 11:09:43
>>666
それ、本家MinGWのgcc4系だと効かない。cc1.exe、cc1plus.exeにやlibiconvがリンクされてないんだそうだ。
gcc3.4.5のcc1とcc1plusで上書きすればOKという情報もあるけど、俺のところじゃダメだった。

TDM's MinGW gcc4.4.1なら大丈夫。

>>667
もちろんそれでもOK。ただ、これまでに書きためた大量のSHIFT_JISのソースを使ったり、
3rd Partyのヘッダーファイル(例えば何等かのIOボードにボードに付いてくるライブラリの
ヘッダーファイル)を使ったり、他のコンパイラと共用するソースファイルを使ったり
する場合にはそうも行かない場合もある。
669デフォルトの名無しさん:2009/11/21(土) 15:34:19
665ですが、IDEの起動オプションをUTF-8にしたら表示されました。
お騒がせしました。
670デフォルトの名無しさん:2009/11/21(土) 16:17:35
>>668
Windowsのシステムロケールを日本語から英語に変更するといい
671デフォルトの名無しさん:2009/11/21(土) 19:16:57
>>668
既にバイナリの gcc 4 がある状況なら
gcc 4 をビルドするのはたやすい。
libiconv 有効にしてビルドしれ
672668:2009/11/22(日) 00:12:22
>>670
レスサンクスなんだが...

> Windowsのシステムロケールを日本語から英語に変更するといい

これは >>668 に書いたうちの、どのことについて言ってるの?


>>671

> 既にバイナリの gcc 4 がある状況なら
> gcc 4 をビルドするのはたやすい。
> libiconv 有効にしてビルドしれ

あぁそれでいいのか。アリガト。
ただ最近ビルドしてばかりしていてチト疲れた。

本家MinGWの最新バイナリインストーラー(5.1.6)のgccは4.4.0でなかったり、
libiconvがリンクされていない抜けがあったり、更新が遅かったりで、
TDM版の方が信頼できると感じてる。

TDM版の最初の4.4.1でCPU利用率が100%近くになってしまう問題が発覚した
時もHPの上の方に「Warning!」としてちゃんと説明が書いてあったし、修正の
対応も比較的早かったしね。

それと試してないんだけど、>>556の問題も気になる(TDM版固有の問題なのか、
gccのバージョンの問題なのか) 。

とりあえずTDM版4.4.1で問題ないので、俺は当面これで行こうと思う。
673デフォルトの名無しさん:2009/11/22(日) 09:33:54
>>672
インストーラが 4.4.0 を入れないのは怠慢ではなくて、そういう選択をしたのだと思う。
まだ実績が不充分ってこともあるし、互換性の問題もある。
エンドユーザーにはなるべく枯れたバージョンを提供する方がいいという考え方はあり得る。

libiconv のリンクも、世界全体から見れば案外少ない状況でしか必要としないし、
そもそもソースコードにマルチバイト文字列をハードコーディングするのは悪いスタイルだよ。
674デフォルトの名無しさん:2009/11/22(日) 09:41:23
よがりごえ
675デフォルトの名無しさん:2009/11/22(日) 10:55:24
>>673
本家擁護も結構だが、

> インストーラが 4.4.0 を入れないのは怠慢ではなくて、そういう選択をしたのだと思う。
> まだ実績が不充分ってこともあるし、互換性の問題もある。

そんなに4.4.0に不安があるのなら、gccだけ独立して正式リリースにしなければいいのに。

そもそも本家はgcc3系とgcc4系でバイナリの互換性がなくなってしまった。
ディレクトリ構成も大きく変更してしまった。

これって良いことなのか?

> エンドユーザーにはなるべく枯れたバージョンを提供する方がいいという考え方はあり得る。

エンドユーザーが自分で選択できるようにすればよいだけの話し。

> libiconv のリンクも、世界全体から見れば案外少ない状況でしか必要としないし、

そう。そういう少数派への配慮が足りない所が問題。

> そもそもソースコードにマルチバイト文字列をハードコーディングするのは悪いスタイルだよ。

余計なお世話。そんなのは状況次第。
日本人の工場オペレーターしか使わないことがわかっているソフトだったら。
ハードコーディングしてしまった方が、短い工数で作れる。

多国語対応する必要があるソフトなら、リソースDLL使うとか、独自のライブラリで言語設定に
あわせてファイルから文字列を読込むとかしてる。
676デフォルトの名無しさん:2009/11/22(日) 13:14:30
>>675

> そんなに4.4.0に不安があるのなら、gccだけ独立して正式リリースにしなければいいのに。

> エンドユーザーが自分で選択できるようにすればよいだけの話し。

大半のユーザーはとりあえずバージョンナンバーが大きい方を選択してしまうよ。
エンドユーザーってのはそんなもんだろうが。

> そもそも本家はgcc3系とgcc4系でバイナリの互換性がなくなってしまった。
> ディレクトリ構成も大きく変更してしまった。

バイナリ互換性が維持されればそれに越したことはないんだけど、
これは根本的な設計から大幅に変わってしまったので、仕方ないとしか…

> そう。そういう少数派への配慮が足りない所が問題。

> 余計なお世話。そんなのは状況次第。

配慮したらその分だけファイルサイズも増える。
少数派に配慮したら多数派に多少なりとも不便を強いるじゃないか。
ファイルサイズ程度なら些細な問題だけど、依存ライブラリが増えると管理が面倒なんじゃね?
これは開発リソースの割り振りの問題だろう。
それに意見する方が余計なお世話ってもんだろ。
開発状況は libiconv をリンクしたくない状況だったんだろ。
677デフォルトの名無しさん:2009/11/22(日) 15:55:37
>>676
> 大半のユーザーはとりあえずバージョンナンバーが大きい方を選択してしまうよ。
> エンドユーザーってのはそんなもんだろうが。

何が言いたいのかわからん、俺には>>673に書いてあることと矛盾してるようにしか
受け取れない。悪いがちゃんと説明してくれないか?

> バイナリ互換性が維持されればそれに越したことはないんだけど、
> これは根本的な設計から大幅に変わってしまったので、仕方ないとしか…

TDM版gcc4.4.1は本家のgcc3.4.5とバイナリレベルの互換性を保ってるよ。

> これは開発リソースの割り振りの問題だろう。
> それに意見する方が余計なお世話ってもんだろ。
> 開発状況は libiconv をリンクしたくない状況だったんだろ。

ファイルサイズの話はかなり無理矢理感があるなあぁ。
で。本家のgcc4.4.0の説明書き(gcc-4.4.0-mingw32-notes.txt)には、必要ファイルだけ
分割してダウンロードする場合、

> libiconv Runtime [REQUIRED]
> libiconv-1.13-mingw32-dll-2.tar.gz

と書いてあるんだが(つまり必須と言うこと)。リンクを怠ったか、ドキュメントの修正を
怠ったかのどっちかだとしか思えない。どっちみち瑕疵であることに変わりはない。
で、TDM氏のHPには、

> TDM-GCC is not formally affiliated with or endorsed by the MinGW project
> (although several MinGW team members make use of it)

なんて書いてある。それなら性格がきっちりしていそうなTDM氏に本家のチームに
加わってもらえば、もっと良くなると思うんだが...
678デフォルトの名無しさん:2009/11/22(日) 17:17:53
>>677
> 何が言いたいのかわからん、俺には>>673に書いてあることと矛盾してるようにしか
> 受け取れない。悪いがちゃんと説明してくれないか?

問題点を認識せずにとりあえず最新版を入れてしまうユーザーもいるから
インストーラは 4 を選ばせないようにしたんじゃね? と言いたかった。

> TDM版 gcc4.4.1 は本家のgcc3.4.5とバイナリレベルの互換性を保ってるよ。

んなわけねーだろ。 何が出来ることをもってバイナリ互換性って呼んでるの?

> ファイルサイズの話はかなり無理矢理感があるなあぁ。

そりゃそーだ。 だから些細なことって書いてるだろ。
結論は開発リソースの割り振りだ。
どっかには問題が残ることもあるだろうさ。
リソースは有限だし、どの問題をどこまで解決するか、
時には手抜きするのもひとつの選択だということだ。

TDM 版だって致命的な問題があったものを警告を書くだけで出したわけだろう?
本家じゃやっちゃいけないことだけど、 TDM 版はそれでも出すという選択をしたわけだ。

一応誤解が無いようにいっとくけど、俺は本家を擁護したいわけじゃないよ。
どこを重要視するかが違うだけのことであって、どっちが良いとか言えるものじゃないというのが俺の主張。

もちろん、本家がよりよくなってくれるのが最も望ましい。
679デフォルトの名無しさん:2009/11/22(日) 18:31:45
>>678
> 問題点を認識せずにとりあえず最新版を入れてしまうユーザーもいるから
> インストーラは 4 を選ばせないようにしたんじゃね? と言いたかった。

了解。ただ、インストーラーでgcc3.4.5をインストールした後でgcc4を入れようと思うと簡単じゃない
(ディレクトリ構成が変わっているから戸惑う)。そういう点で問題だと俺は言いたい。

> んなわけねーだろ。 何が出来ることをもってバイナリ互換性って呼んでるの?

GUIツールキットQt 4.5のMinGW用のバイナリインストーラーでインストールされるライブラリは本家の
gcc3.4.5でビルドされたものだが、TDM gcc4.4.1でビルドしたアプリからちゃんと使えた。

ところがQt 4.6のbeta-1には、本家のgcc3.4.5でビルドされたライブラリの他に、本家のgcc4.4.0(Qtライブラリ
ではなくてコンパイラそのもの)もバンドルされてきた。ところがこの4.4.0でアプリをビルドすると、エラーが
出てしまう(3.4.5でビルドされたライブラリと互換性がない)。

Qt 4.6 RCになって、ライブラリも本家のgcc4.4.0でビルドされたものに変わった。そうしたら今度はアプリを
TDM gcc4.4.1でビルドするとエラーが出る。仕方なくQt 4.6 RCのソースからTDM gcc4.4.1でQtをビルドしたら
うまく行った。これでわかるだろ?

> TDM 版だって致命的な問題があったものを警告を書くだけで出したわけだろう?
> 本家じゃやっちゃいけないことだけど、 TDM 版はそれでも出すという選択をしたわけだ。

出した後から発覚したんで、緊急で警告を書いたんだよ。だから「修正するまで、一つ前の4.3.3を使ってくれ」
って書いてあった。テストが足りなかったのは確かだが、やるべきことを迅速にやっている。
本家はlibiconvがリンクされていなくても、アナウンス一つしてないんじゃないか?3系と4系でバイナリ互換性
がないというアナウンスも何処かにある?

> もちろん、本家がよりよくなってくれるのが最も望ましい。

俺だって本家を貶すのが目的じゃない。ただ、もっとしっかりしてくれと言いたい。
現状だとTDM版の方が良い選択だと言わざるを得ない状況だ。
680デフォルトの名無しさん:2009/11/22(日) 20:33:05
>>679
> 了解。ただ、インストーラーで gcc3.4.5 をインストールした後で gcc4 を入れようと思うと簡単じゃない
> (ディレクトリ構成が変わっているから戸惑う)。そういう点で問題だと俺は言いたい。

単に展開するだけだし、俺はディレクトリ構成が変わっていることに気づいてさえいなかったぜ!!
(後から気付いたけど。 これは俺がいいかげんなだけかもしれん。)

> GUIツールキットQt 4.5のMinGW用のバイナリインストーラーでインストールされるライブラリは本家の
> gcc3.4.5でビルドされたものだが、TDM gcc4.4.1でビルドしたアプリからちゃんと使えた。

TDM がどうとかいう以前に gcc の変更だ。 実験してみた結果がどうあれ偶然。
何が起こってもおかしくない。 鼻から悪魔。

> ところがQt 4.6のbeta-1には、本家のgcc3.4.5でビルドされたライブラリの他に、本家のgcc4.4.0(Qtライブラリ
> ではなくてコンパイラそのもの)もバンドルされてきた。ところがこの4.4.0でアプリをビルドすると、エラーが
> 出てしまう(3.4.5でビルドされたライブラリと互換性がない)。

エラーの内容が気になる。
エラーが単なる undefined reference の場合、環境構成上のしょーもないことである場合がある。

> テストが足りなかったのは確かだが、やるべきことを迅速にやっている。

迅速だけどテストが足りなかったんだろ。 だからそれは単にスタンスの違いなんだって。

> 本家はlibiconvがリンクされていなくても、アナウンス一つしてないんじゃないか?

required の記述が間違っとるが、どれどれをリンクしたなんていちいち書くかよ。

> 3系と4系でバイナリ互換性がないというアナウンスも何処かにある?

これは常識だと思ってたから疑わなかったけど、一見さんにわかる形では無いかも。
GCC のサイトの方にも目立つようには書いてない。
681デフォルトの名無しさん:2009/11/22(日) 21:06:27
きめえ話してんじゃねーよ
オープンソースなんだから好きにやれや
682デフォルトの名無しさん:2009/11/22(日) 22:09:05
>>681
まったくそのとおりだ。 だから好きに議論する。

便宜上「本家」なんていってるがそれほど絶対的なものではない。
それぞれのスタンスがあるのは当然。

と、言うわけで >>679 が主張するように「TDM 版の方が良い選択」
とする主張を否定するわけじゃないし、その主張が正しいと言える状況はあるんだろう。
でも、そうじゃない状況もある。 それだけの話。
683デフォルトの名無しさん:2009/11/22(日) 22:19:01
話長いw
684デフォルトの名無しさん:2009/11/22(日) 22:49:18
>>680

> 単に展開するだけだし、俺はディレクトリ構成が変わっていることに気づいてさえいなかったぜ!!
> (後から気付いたけど。 これは俺がいいかげんなだけかもしれん。)

環境変数変えなきゃダメだろ?本当に動かしてみたんかね?
少なくともC_INCLUDE_PATHやCPLUS_INCLUDE_PATH、LIBRARY_PATHは変更する必要がある。もしかして単に
展開しただけで環境変数変えてないから、gcc4.4.0使ってるつもりで実は3..4.5のままだったりしてw

> TDM がどうとかいう以前に gcc の変更だ。 実験してみた結果がどうあれ偶然。
> 何が起こってもおかしくない。 鼻から悪魔。
(中略)
> > 3系と4系でバイナリ互換性がないというアナウンスも何処かにある?
>
> これは常識だと思ってたから疑わなかったけど、一見さんにわかる形では無いかも。
> GCC のサイトの方にも目立つようには書いてない。

そんないい加減な情報じゃなくて、しっかり「ここに書いてある」って示して欲しい。そうじゃないと、アンタに「偶然」
だの「鼻から悪魔」なんて書く資格はない。単に実験のレベルじゃないよ。暫く使ってるが、何の問題もない。

> > テストが足りなかったのは確かだが、やるべきことを迅速にやっている。
>
> 迅速だけどテストが足りなかったんだろ。 だからそれは単にスタンスの違いなんだって。

違う。本家はアナウンスすべきことをアナウンスしていない。例えば、MinGW5.1.6のgccは4.4.0じゃなくて3.4.5だって
ことはどこに書いてある?要するにいい加減すぎるんだよ。「スタンスの違い」ってのが「ユーザー重視」と「ユーザー
軽視」の違いってのなら納得できるが。

例えば、ttp://www.mingw.org/wiki/GCCStatus は2009-04-20 以降更新されておらず、現状と合ってない。
SourceForgeのファイルツリーを見ても、「Automated MinGW Installer」のところにリリースノートすら置いてない。
685デフォルトの名無しさん:2009/11/22(日) 22:57:14
MinGW、いったいいつになったら
gcc4採用するんだよ・・・
686デフォルトの名無しさん:2009/11/23(月) 01:04:40
goはbuildできますか?
687デフォルトの名無しさん:2009/11/23(月) 01:14:41
出来ません。
688デフォルトの名無しさん:2009/11/23(月) 01:22:54
>>685
TDM-MinGWはとうにgcc4.4.1なんだが・・・
689デフォルトの名無しさん:2009/11/23(月) 05:09:42
690684:2009/11/23(月) 07:36:00
>>685
本家MinGWだってMinGW5.1.6に含まれていないだけで、gcc 4.4.0は単独で「current release」になってるよ。
TDM版については>>688の言うとおり。

長い話で悪かったが、そのことでずっと>>680とやりあってたんだ。
691デフォルトの名無しさん:2009/11/23(月) 14:28:16
そろそろ長話を止めてくれ
692デフォルトの名無しさん:2009/11/25(水) 02:23:25
cygwinをアンインストールしたいんだがどうしても削除できないフォルダとファイルがある(Windows7)
usr\sbin\sendmailとvar\cron\tabs
アクセス許可云々と出てフォルダが削除できない
所有者が長ったらしい変な名前だったのでアクセス権を自分にしてもできない
コマンドプロンプトや強制削除ソフトとか使っても無理
(あと一つ同じようなフォルダがあったがなぜか削除できた)
どなたか知恵をおかしくだ足
693デフォルトの名無しさん:2009/11/25(水) 04:19:25
msysでcoreを吐かせるにはどうすればいい?
ulimit -a でみてもunlimitedになってるんだが・・・
694デフォルトの名無しさん:2009/11/25(水) 15:23:07
>>692
どこかのプロセスのカレントフォルダや
オープンしているファイルなどが、そこのフォルダにあると
消せないみたいだよ。

そこにアクセスしているプロセスを終了すればいいと思うけど、
たぶんわからないのだろうから、一回ログオフするか再起動すれば消えるはず。
695デフォルトの名無しさん:2009/11/25(水) 15:44:01
今TDM版MinDW gcc4.4.1-2のテストを行っています
今までは日本語入出力の問題があってgcc3.4.2を使っていました
あるプログラムを-O3でコンパイルしてみると両方とも10分程度で終わるのですが
3.4.2のほうが20%ほど早くなりました
途中のlogと結果を見るとどちらも-O0の時と同じように動いているように見えます

実際にはこれからプログラムを書き直して10倍100倍の計算をさせたいと思っているのですが
書き方がよくなればTDMの方が早くなるようなものなのでしょうか?
696デフォルトの名無しさん:2009/11/25(水) 18:58:14
ぶっちゃけ状況による。
3 と 4 はかなり根本から変わってしまってて、
最適化フェイズの構成からして違う。
どちらが速くなるかは実測するべし。
697デフォルトの名無しさん:2009/11/25(水) 19:48:13
>>696
レスありがとうございます
インストールがめんどくさいですが、
両方でコンパイルしてみて試して見ることにします
698デフォルトの名無しさん:2009/11/26(木) 11:23:39
え?例えばc:/gcc4/とc:/gcc3/に解凍して
環境変数を使い分ければいいだけの話でないの
699デフォルトの名無しさん:2009/11/26(木) 22:59:58
mingwのgcc4は

for(i=0;i<10;i++){
for(j=0;j<10;j++){
int a = i;
}
}
みたいなことをしたときに、2重ループ内のiが未初期化だったことがあったのでgcc3に落とした。
700デフォルトの名無しさん:2009/11/26(木) 23:03:38
それはないだろう
701デフォルトの名無しさん:2009/11/26(木) 23:15:13
>>699
そんなこと無いだろjk
おおかた中でiを新しく書いちゃったとかそんなレベルだろ?
702697:2009/11/26(木) 23:30:39
>>698
それが私は、MinGWよく知らないでgcc使っているもので。
最近は、cmd環境に行ってdoskey定義バッチ起動してディレクトリ移動するのが面倒くさくて
プログラムごとにこんなバッチ作ってウィンドウ環境で作業してます
g++ -o backend.exe backend.cpp 2>errout.txt
type errout.txt
pause
たまにgrepとdiffとか使うときはウィンドウ環境のものを使えばいいし、makeもこんな感じでやっています
したがって環境変数変えるのも結構面倒です
この場合は別のバッチ作っておいて環境変数変えるバッチをcallすればいい気もしますが
ぱっと見た感じLIBもINCLUDEも無いのでpathを変えるだけでいいのでしょうか?
msysがMinGWのディレクトリ聞いてくるのもmsys環境でマウントするディレクトリを変えてるだけならいいのですが

あまり高度なことはできないので
インストーラで別ディレクトリに2つインストールしておいてpathを変えるだけでいいのでしょうか?
頻繁にコンパイラ変えないならインストールし直した方が早い気もしますが
703デフォルトの名無しさん:2009/11/26(木) 23:38:00
704デフォルトの名無しさん:2009/11/26(木) 23:42:50
localeまわりは絶対パスだけど、他は相対パスで動いてたような?
705699:2009/11/27(金) 00:29:56
gcc3やPGIやvcでちゃんと動いていたプログラムだったんだけど。
706デフォルトの名無しさん:2009/11/27(金) 01:17:24
質問

Eclipse 3.4.2 / Pleiades All in One の C/C++(MinGW) を使ってるんだけど
ワークスペースに、「実行可能プロジェクト」(A.exe)と「共有ライブラリプロジェクト」(B.dll)を作って
A.exeのライブラリにB.dllをリンクして使いのだけど、実行もデバッグも出来ない。

だけど、A.exeと同じフォルダ(たとえばDebug)にB.dllをコピーすると、実行できたりデバッグ出来る。

VisualStudioみたいに、参照設定しただけじゃダメで、コピーまでする必要があるの?
面倒なんだけど、みなさんDLL作って、EXEから呼び出す時ってどうしてんの?
707デフォルトの名無しさん:2009/11/27(金) 01:21:23
          __,,/  _, ----`ヽ  :.
     :.  / _     ___   、\
       / /   i      \   \\ :.
     :. ,'./       i  ヽ:.   ヽ:.:.. ヽ.ヽ
      ,'/    / .ハ ヽ ヽ:.:.:.:. ヽ::.. ヽヽ :.
     :. |i .i i  .i /  ヽ ト 、 \、:.:.:. ',:.',:.:.lヽ}
       |i .i l  :N_, -弋 \弌弋ナ:}:.:}
    :. |i∧ ', :{ ,ィjモト \  イjミトイイV :.  な…
       .|  :メヽ.', `ozZ}      izN。ハ::{     なんなんだよもん?
      :. |  :ヾ_! ゝ "゙゙    '  `゙ ハ.:', :.   ここ、どこだよもん?
      |  :.:_イ .:.ヽ.   (二フ , イ :.:.:!:.ヽ     なんであたし
   :.  / rィイ | :.:.ヽ: >r/`<ノ .:.::.}ヽ、\:.   貼られたんだよもん?
      / ∧l;l ! :.:.:.://{二 ̄ .} ..:..::リ//ハ.:\
 :.  / .{. ',ヾ、ヽi .:.:.{ /(^`  |.:.:.:.//: : :.}: . ヽ.:.
   / /  ) ヽ ヾ、ヽ:.ハ ヤ{   ∧/.-‐'": : |:.:. i ',
  ./ .,イ .:..} : :\ヾレ'ハ ∧__ノノハヾ、  : : : l:.:.: .ハ ',
  { /| .:.:ハ : : :i Y {ヾ`Yヽニン'ノ}: : } : : : :/:.:.:/ }:.}
  V | .:.:/:.:|_,ィ' ̄  ヽ三{ `ー-ノ : イ : : :/:.:i.:{  リ
    ヽ:.:{、.:.V     : : ヘ     : : {: : :/:.::∧|
     ヽ! )人    : : :人      : : : / \! :.
      "  ヽ : : : : :/イ{     :.ノ: : : :.\ :.
       :.  \__///: :\______/: : : : : : : ヽ
           / //: : :|;|: : : : : : i: : : __: : : : ',
       :.     / 、 {;{   |;|   . : i/. : : : : : :|
          / `Y;{. . . .|;|. : : : /i: : : : : : : : :l
708デフォルトの名無しさん:2009/11/27(金) 02:06:49
「共有ライブラリプロジェクト」(B.dll)をPATHに追加すれば
709706:2009/11/27(金) 02:22:35
Windowsの環境変数?
実行構成の環境変数に入れたときは、実行できるんだけどデバッグできなかったから
Windowsの環境変数は試してない。

他にPATH追加するところあったっけ?
710デフォルトの名無しさん:2009/11/27(金) 14:58:02
virtual void hoge( void ) = 0;
とやると
undefined reference to `vtable for ...
とエラーが出ます。
調べたところ
virtual void hoge( void ) {};
としたらOKでした。
純粋仮想関数って使えないのでしょうか?
711デフォルトの名無しさん:2009/11/27(金) 16:46:25
派生クラスでちゃんと仮想関数のオーバーロードやってないだろ。
712デフォルトの名無しさん:2009/11/27(金) 16:56:35
>>711
いろいろやってるうちにコンパイルが通ってしまいまして
原因が分からずじまいでした。
スレ汚し失礼しました。
713デフォルトの名無しさん:2009/11/27(金) 17:32:56
>>712
You shall die.
714デフォルトの名無しさん:2009/11/27(金) 17:40:02
>>713
それ、殺害予告になってるよ
715デフォルトの名無しさん:2009/11/27(金) 17:44:48
magic death car
716デフォルトの名無しさん:2009/11/27(金) 20:35:01
>>713
shallは一人称の意志がこめられた未来の表現。

 will と shall の使い分け
 ttp://someya1.hp.infoseek.co.jp/G-will&shall.html
例:You shall be dismissed if you are late again.「こんど遅刻したら首だ」。
717716:2009/11/27(金) 20:36:03
しかしまあ2chで「てめーぶっ殺す」みたいなことを書いても
逮捕されないんだから(*いや、具体的に書いたらだめだろうけど)
そのくらいでは大丈夫だろうけどさ。
718デフォルトの名無しさん:2009/11/27(金) 20:52:51
こうなごの件は?
719デフォルトの名無しさん:2009/11/27(金) 22:06:29
>>718
こうなごは・・・ありゃダメじゃない?

まあ検察がどう考えるか次第だろうし
最終的にはその辺の判断は裁判してみないと分からないし。
720デフォルトの名無しさん:2009/11/27(金) 23:00:55
 痛いニュース(ノ∀`):「小女子焼き殺す」 2ちゃんねるに殺害予告をした23歳無職を逮捕…「小女子(こうなご)は小魚だ」と否認
 ttp://blog.livedoor.jp/dqnplus/archives/1148332.html
これか。
721デフォルトの名無しさん:2009/11/28(土) 01:01:02
「殺す」はダメで「死ね」はOKですか?
722デフォルトの名無しさん:2009/11/28(土) 09:57:08
>>721
まあ微妙なラインだよな。

「殺す」は明らかに殺人予告であり、厳密に考えたらダメだろう。
一方「死んでくれればいいのに」はOKだろう。だって本人の希望とか考えを
述べただけであり、それだけでは処罰の対象にはならないだろうな。
そして「死ね」は微妙なラインだと思う。
723デフォルトの名無しさん:2009/11/28(土) 11:47:57
別に殺人未遂で逮捕されたわけじゃないだろう
小女子はともかく学校名書くから、関係者に迷惑がかかる
99%ネタだと分かってても何もしないと責任問題になるし
まあ、当時は似たような事件が多発してたから、見せしめの意味もあるだろうね
724デフォルトの名無しさん:2009/11/28(土) 12:01:42
>>723
殺人予告は殺人未遂とは全然意味が違うし
俺だって別に殺人未遂で逮捕されたとは申し上げていないよ。

残り3行は激しく同意。
725デフォルトの名無しさん:2009/11/28(土) 13:01:21
gccの話をしろよばかども
726デフォルトの名無しさん:2009/11/28(土) 19:31:16
727デフォルトの名無しさん:2009/11/30(月) 11:15:54
gccの話をしろよばかども
728デフォルトの名無しさん:2009/11/30(月) 14:44:28
まったくスレ違いもはなはだしいな
カスは死ねばいいのに
729デフォルトの名無しさん:2009/11/30(月) 16:58:39
   ∧_∧  / ̄ ̄ ̄ ̄ ̄
  ( ‘∀‘)< オマエガナー
  (    )  \_____
  | | |
  (__)_)
730デフォルトの名無しさん:2009/12/01(火) 22:15:59
MinGWというのをインストールしたのですが日本語が表示されないみたいです。
不便です。
731デフォルトの名無しさん:2009/12/01(火) 22:39:37
>>730
意味がわかりません。

何をすると何がどうなって
どう困るんですか?
本当はどうなって欲しかったんですか?

732デフォルトの名無しさん:2009/12/01(火) 23:31:16
>>730
ソースコードをUTF-8で書けば大丈夫なはずです。

SJISで書きたければ、コンパイラオプションに --input-charset=cp932 --exec-charset=cp932 を
つければ大丈夫ですが、これは本家MinGWだとgcc4系では機能しません。
TDM's MinGW 4.4.1なら大丈夫です。
733デフォルトの名無しさん:2009/12/02(水) 00:49:22
>>732
おお!表示されました!
諦めていたので助かりました。

>>731
通報しました。
734デフォルトの名無しさん:2009/12/02(水) 18:33:33
>>733
やさしい>>732がエスパーだったおかげで
無能なお前のレスを解釈してくれて良かったな。

通報?むしろしてくれ。
735デフォルトの名無しさん:2009/12/02(水) 19:08:18
なんの通報なんよ
プライドを傷つけられたからか?
こちらはただ質問の意味が日本語になってなくて分からないから
質問しただけなんだけど
736デフォルトの名無しさん:2009/12/02(水) 19:19:08
論理がわからない質問をム板で見るとかなりうんざりはする。
他ならともかくム板で!!
737デフォルトの名無しさん:2009/12/03(木) 00:22:34
そうだそうだあ!
738デフォルトの名無しさん:2009/12/03(木) 00:32:16
過疎スレが盛り上がってきたね
739デフォルトの名無しさん:2009/12/03(木) 00:46:06
その調子で死ねばいいのにね
740デフォルトの名無しさん:2009/12/03(木) 00:57:39
( ^ω^)おっおっおー♪
741デフォルトの名無しさん:2009/12/03(木) 11:07:46
他人に自分の意図を伝えられない奴が、
コンピュータに自分の意図を伝えるプログラミングができるわけがない。
742デフォルトの名無しさん:2009/12/03(木) 12:28:35
( ゚∀゚)o彡° 過疎!過疎!
743デフォルトの名無しさん:2009/12/03(木) 13:51:26
ラムダ式が使いたいのですが、いつから使えるようになりますか?
744デフォルトの名無しさん:2009/12/03(木) 14:40:37
GCC4.5から
745デフォルトの名無しさん:2009/12/03(木) 15:37:02
>>743
意味がわかりません。
746デフォルトの名無しさん:2009/12/03(木) 15:42:50
馬鹿は黙ってろよな・・・マジで
747731:2009/12/03(木) 20:58:48
>>745
お前、まさかまだ俺のレスを引きずっているんじゃないよなw

そんなに傷ついたか?
748デフォルトの名無しさん:2009/12/03(木) 21:26:55
ヘッダファイルとかライブラリが数フォルダに散らばって気持ち悪い
749デフォルトの名無しさん:2009/12/03(木) 21:32:45
>>748
実装は関係なくないか?
まさか直接いじりたい人?
750デフォルトの名無しさん:2009/12/04(金) 05:30:55
( ^ω^)おっおっおー♪
751デフォルトの名無しさん:2009/12/05(土) 12:17:30
>>741
それだ
752デフォルトの名無しさん:2009/12/09(水) 22:48:44
ツリー構造になってるディレクトリのソースをコンパイルして
一つのディレクトリにobjを入れたいんだが、ぜんぜんできない
753デフォルトの名無しさん:2009/12/09(水) 23:10:14
vpath
754デフォルトの名無しさん:2009/12/10(木) 17:19:00
Makefileの書き方を工夫するとか?
755デフォルトの名無しさん:2009/12/10(木) 22:06:27
>>752だけど。
vpathは昨日はなぜか利かなかったのに今日は利きました!
結局objや最終ターゲット全てmake実行したところに作られて
理想には程遠いけどもうあきらめますたorZ。
756デフォルトの名無しさん:2009/12/10(木) 23:46:38
>>754
.........
757デフォルトの名無しさん:2009/12/11(金) 01:02:39
mAKefiLE


こうですか?わかりません!
758デフォルトの名無しさん:2009/12/11(金) 02:01:15
aho
aho.cpp aho.h
boke
boke.cpp boke.h
obj
Makefile

aho.o: ../aho/aho.cpp ../aho/aho.h
boke.o: ../boke/boke.cpp ../boke/boke.h
759デフォルトの名無しさん:2009/12/11(金) 09:06:04
$objd=./obj

$(objd)/%.o: %.cpp
 $(CC) -c &< -o $@

で出来る
760デフォルトの名無しさん:2009/12/14(月) 03:40:18
$ac_cv_mingw32って何ですか?
761デフォルトの名無しさん:2009/12/16(水) 22:27:07
>760
名前だけ見て判断すれば Autoconf で mingw32 について判定した結果のキャッシュ値だな。
762デフォルトの名無しさん:2009/12/17(木) 09:56:52
MinGW+gccを使うのに適当な統合環境ってありますか?
EclipseもNetbeansもうまくデバッグできないので
私の設定が不十分な可能性もあるので、調査中なのですが、
情報があれば教えて下さい。
763デフォルトの名無しさん:2009/12/17(木) 10:10:09
764デフォルトの名無しさん:2009/12/17(木) 11:26:16
>>762
Code::Blocksでgdbでのデバッグもうまく行ってるよ。
http://www.codeblocks.org/

最新版に,NightlyBuild(現在の最新は5911)を上書きするとより安心。
http://forums.codeblocks.org/index.php/board,20.0.html

> 私の設定が不十分な可能性もあるので、調査中なのですが、
> 情報があれば教えて下さい。

まさかgdbインストールしてないとか言うオチじゃないよね?
765デフォルトの名無しさん:2009/12/17(木) 12:16:11
>>762
Qt Creator
日本語デバッグはできないけど。
766デフォルトの名無しさん:2009/12/17(木) 12:49:40
Code::Blocksとかどうよ
767デフォルトの名無しさん:2009/12/17(木) 13:55:04
>>764-766
ありがとうございます。
Code::Blocksは候補にはいってましたが、未調査でした。
早速調査してみます。
768デフォルトの名無しさん:2009/12/21(月) 18:44:54
よかったね
769デフォルトの名無しさん:2009/12/23(水) 19:05:01
1.7.1リリース!
770デフォルトの名無しさん:2009/12/23(水) 23:33:45
>>769
何の1.7.1?
771770:2009/12/23(水) 23:34:55
NEW Cygwin 1.7.1 just released!
これか。
772デフォルトの名無しさん:2009/12/23(水) 23:35:30
TDM MinGWは別に新しいの出てないしな
773デフォルトの名無しさん:2009/12/24(木) 00:40:49
やっと1.7系列が標準になったのか?

これからまともに利用者が増えて
ノウハウもたまって安定するだろうか。
774デフォルトの名無しさん:2009/12/24(木) 07:28:06
さんざんテストリリース期間置いてのリリースなのに、まだ安定してないの?
775デフォルトの名無しさん:2009/12/24(木) 15:43:42
質問です。.dll.a から .lib を作る方法はありますか?
776デフォルトの名無しさん:2009/12/24(木) 16:46:55
しらない
777デフォルトの名無しさん:2009/12/24(木) 17:04:08
何でそんなことしたいの?
まさかVC++でgccで作ったdllを利用しようなんてことじゃ...
778775:2009/12/24(木) 17:34:07
>>777
その通りです。
779デフォルトの名無しさん:2009/12/24(木) 18:20:19
くっはー・・・
780デフォルトの名無しさん:2009/12/24(木) 18:21:48
c++の奴は無理でしょ
781デフォルトの名無しさん:2009/12/24(木) 18:23:11
昔Borlandがそんなツール提供してたような。
782デフォルトの名無しさん:2009/12/24(木) 19:22:06
LoadLibraryとか呼び出せば普通に相互利用できるじゃん。
783デフォルトの名無しさん:2009/12/26(土) 10:49:37
一番いいTex環境ってなんですか?
784デフォルトの名無しさん:2009/12/27(日) 15:54:59
ffmpegをCygwin環境でビルドしています。
ビルド自体は問題なく終了したのですが、ffmpeg.exeを
Windowsのコマンドプロンプトで実行する際、日本語ファイルを引数として渡すと
日本語が化けてしまいます。

MSYS環境でビルドした際は特に問題がなかったので、Cygwinの環境設定で
何か行ってやる必要があるかと思うのですが、
どのような設定を行えばよいでしょうか。
785デフォルトの名無しさん:2009/12/28(月) 18:07:12
>>784
このスレでcharsetを検索せよ。
786デフォルトの名無しさん:2010/01/02(土) 15:11:38
MinGW-5.1.6.exeを実行したら
iniやらgzが勝手にDLされたがどうするのこれ
787デフォルトの名無しさん:2010/01/02(土) 19:27:11
MinGWてなに?
788デフォルトの名無しさん:2010/01/02(土) 22:24:53
cygwinじゃでかすぎるぞボケって人のためのGNUツール郡

・・・なのかね。dllを共有しない分でかくなるような気がするけど
789デフォルトの名無しさん:2010/01/04(月) 21:19:35
 MinGW について頻繁に尋ねられる質問と回答(MinGW FAQ)
 ttp://www.sixnine.net/cygwin/translation/mingw-doc/mingwfaq.html
ここに
> MinGW とは何ですか?
>    (中略)
> MinGW は Windows オペレーティングシステムと共に配布されている
> Microsoft のランタイムライブラリを利用します。
> Windows に対して移植された他の GCC とは異なり、
> このランタイムライブラリは
> GNU 一般公有使用許諾契約書の元では配布されていません。
> 従って、あなたのプログラムと共にあなたのソースコードも配布する必要はありません。
> 勿論、あなたのプログラムが GPL のライブラリを利用していない限りですが…
ってのがあるんですが、これは、
 MinGW上で
  PublicDomainのライブラリX
  標準Cライブラリ
  標準C++ライブラリ
 を使って全部staticリンクしてクローズドソースな実行ファイル.exeを一般に配布する
ということは可能だと解釈してよろしいですか?
790デフォルトの名無しさん:2010/01/04(月) 22:49:24
標準ライブラリのライセンスに依ると思うけど。
実際にどうなのかというと、知らない。
791デフォルトの名無しさん:2010/01/04(月) 23:04:00
>>789
標準Cライブラリのstaticリンクは無理な筈だな
mingwはMSのCランタイムDLLとリンクするから
792789:2010/01/04(月) 23:28:45
>>790-789
> mingwはMSのCランタイムDLLとリンクするから
これって、
> MinGW は Windows オペレーティングシステムと共に配布されている
> Microsoft のランタイムライブラリを利用します。
> Windows に対して移植された他の GCC とは異なり、
> このランタイムライブラリは
> GNU 一般公有使用許諾契約書の元では配布されていません。
> 従って、あなたのプログラムと共にあなたのソースコードも配布する必要はありません。
ここにある記載とは別の事柄でしょうか??
793デフォルトの名無しさん:2010/01/04(月) 23:58:17
>>792
いや同じだよ
ただ、「Windowsとともに配布されているMicrosoftのランタイムライブラリ」
はDLLであって、staticリンクライブラリではないので
staticリンクはできないよ
794デフォルトの名無しさん:2010/01/05(火) 01:30:18
MinGW Alternative C Run-Time Lib (ACR)
http://mingwacr.sourceforge.net/

そういえばこんなのもあったよね。
完全に頓挫してるっぽいけど。
795789:2010/01/05(火) 06:36:04
>>793-794
ありがとうございます。
確かに
「ライセンスうんぬんの前にそもそもstaticリンクが無理だよ」
ということですね。

標準C++ライブラリに関しましてはいかがでしょうか?
796デフォルトの名無しさん:2010/01/05(火) 10:29:40
>>795
C++の場合は、MicrosoftのC++ランタイムではなくGNUの実装が
staticに埋め込まれるようだね
C++の場合はname manglingなどABIまわりの仕様がMSVCとGCCで
互換性が無いから当たり前だが

つまり、ライセンスとしてはGNU C++標準ライブラリをstaticリンクした
場合のケースに従うことになる
797デフォルトの名無しさん:2010/01/05(火) 10:34:03
ああ念のため
C++の場合も、MSの「Cの」ランタイムDLLはダイナミックリンクされるよ
「C++専用の」ライブラリに関して、MS実装が使われないということね
798デフォルトの名無しさん:2010/01/05(火) 13:49:36
799>795:2010/01/05(火) 21:27:51
>>796-797
ありがとうございます。
> ライセンスとしてはGNU C++標準ライブラリを
> staticリンクした場合のケース
は、いったいどんなことになるのですか?

>>798
GCC Runtime Library ExceptionはGNU C++標準ライブラリにも適用されていますか?
TDMビルドのMinGWを使っているのですが、
 COPYING
 COPYING.LIB
 COPYING.lib-gcc-tdm.txt
 COPYING-gcc-tdm.txt
の中からいったいどれが標準C++ライブラリのライセンスなのか
分からないのです。
800デフォルトの名無しさん:2010/01/05(火) 21:55:54
>>799
ttp://gcc.gnu.org/onlinedocs/libstdc++/faq.html
ここを読むとよいぞ

簡単に言うと、GNU C++標準ライブラリ自体のライセンスはGPLだが、
>>798の例外事項によって、プロプライエタリなソフトウェアも
自由にそれを使っていいことになっているようだね

つまりgccを使ってlibstdc++とリンクしてもGPL汚染されないってこった
801デフォルトの名無しさん:2010/01/05(火) 22:03:23
いいかげんうぜえ・・・
802デフォルトの名無しさん:2010/01/05(火) 22:07:47
>>800
丁寧にありがとうございます。
拝見します。


>>801
左様ですか?
803デフォルトの名無しさん:2010/01/05(火) 22:30:24
--dynamicbase付けてもヘッダにビットが立つだけで再配置セクション無いな
804デフォルトの名無しさん:2010/01/06(水) 20:15:13
>>800
読みました。
ttp://gcc.gnu.org/onlinedocs/libstdc++/faq.html#faq.license
の、特に2.4が決定的ですね。
ありがとうございました。
805デフォルトの名無しさん:2010/01/07(木) 10:13:36
Cでプログラミングしているのだけど、簡単にCPU使用率を取得する方法はありませんか?
806デフォルトの名無しさん:2010/01/07(木) 15:20:49
超おおざっぱな方法だと、プログラムループの入り口と出口で時間を計って差分を求めれ
まともな方法だと
http://msdn.microsoft.com/ja-jp/library/cc429248.aspx
http://www.hiramine.com/programming/windows/getperformance.html
807デフォルトの名無しさん:2010/01/10(日) 13:19:22
もう一度聞きますが・・・
Cでプログラミングしているのだけど、簡単にCPU使用率を取得する方法はありませんか?
808デフォルトの名無しさん:2010/01/10(日) 13:24:00
スレ違いなのでは?
809デフォルトの名無しさん:2010/01/10(日) 13:56:45
移植性のある方法では無い。
810デフォルトの名無しさん:2010/01/10(日) 14:20:11
>>807
ない。
811デフォルトの名無しさん:2010/01/10(日) 14:22:37
CPU使用率を取得して、何するんだろ
812デフォルトの名無しさん:2010/01/10(日) 15:10:40
yaccファイルのコンパイルをするために、
Cygwinのsetup.exeからbisonをチェックして再インストールをすると
エラーが出ます。内容↓

プロシージャエントリポイント_ctype_ptr_がダイナミックリンクライブラリcygwin1.dllから見つかりませんでした。
ttp://www1.axfc.net/uploader/Sc/so/72110.jpg

cygwinインストールの手順は
ttp://www2.ktokai-u.ac.jp/~kfuji/cygwin/cygwin.htm
のサイトに書いてあるのと同じです。
エラーの原因と解決方法が分かる方がいれば教えて下さい。
813デフォルトの名無しさん:2010/01/10(日) 15:14:44
cygwin1.dll のバージョンが違うんだろ。
その原因となると再現条件がわからんから
なんとも言えんけど、
bison をソースからビルドするのが最もてっとりばやい方法だと思う。
814デフォルトの名無しさん:2010/01/10(日) 15:25:39
ありがとうございます。
ソースからビルドのやり方がわからないけど、
普通にcygwinを起動しても同じエラーメッセージ出すようになったので、
cygwin1.dllを入れなおす方向でやってみます。
ちょっと出かけるので分からないことがあったら聞きに来ます。
815806:2010/01/10(日) 23:05:42
え、俺スルーされたの?
なんだかなぁ・・
816デフォルトの名無しさん:2010/01/10(日) 23:10:46
最近1.7になったからその関係じゃない?
入れなおすなら丸ごと1.7にした方が良い希ガス
817デフォルトの名無しさん:2010/01/10(日) 23:28:12
ややこしいから一回消してからcygwinを最初から入れなおすことにしたんだけど、
アンインストールが出来ないから手動で削除しようとしたらアクセスできません、
とかで削除すらできなかった。

火曜日に間に合えばいいのでとりあえずノートPCに入ってるcygwin触ってみたら
bisonのコマンドは使えた・・・のですが、指定ディレクトリが何処か分かりません。
lsって入れたら一応中に入ってるものは分かったんですが、その場所が分かりませんでした。
どうやって確認すればいいんでしょうか?
818デフォルトの名無しさん:2010/01/10(日) 23:41:17
which コマンド
819デフォルトの名無しさん:2010/01/12(火) 18:06:59
boostをmingwでコンパイルするときにbjam --toolset=gcc --with-regex --with-filesystem link=static runtime-link=static release stage --prefix=/usr/local install
としたら拡張子が.aじゃなくて.libになるんですがこれは仕様なんでしょうか。
それとも何か間違っていますか?拡張子を.aに直したら動いているようですが。
820デフォルトの名無しさん:2010/01/12(火) 22:12:33
tools/build/v2/tools/gcc.jam の中に

># On windows (mingw):
>#     libxxx.lib   static library
>#     xxx.dll      DLL
>#     xxx.lib      import library

と書いてあるから仕様だと思われ。
821デフォルトの名無しさん:2010/01/13(水) 03:26:28
mignwはlibもリンク出来るんだよ
確か、それで出来たlibはVC++からも利用できるはず
822デフォルトの名無しさん:2010/01/13(水) 23:22:40
ハードウェアメーカーが提供するSDKが、MSVC用のヘッダやライブラリなんだけど、
GCCでライブラリにリンクする方法ありますか?

wrapper書くしかないのかな。
823デフォルトの名無しさん:2010/01/14(木) 00:18:13
C++だったら、そうだね。
824デフォルトの名無しさん:2010/01/14(木) 00:50:48
>>820>>821
ありがとうございます。
libもリンクできるとのことですがaにしないとMKVToolnixのconfigureが通りません。
これはconfigureがlibを想定していないとかそういうことでしょうか。
825デフォルトの名無しさん:2010/01/14(木) 04:10:43
そういうこと
826デフォルトの名無しさん:2010/01/14(木) 23:44:22
crypt.exeがBackDoorとかでウイルスセキュリティに削除されるんだが
どうすれば・・・
827デフォルトの名無しさん:2010/01/14(木) 23:53:39
>>826
リアルバックドアだったりして。。。

828826:2010/01/15(金) 00:12:06
>>827
すごく・・・困る・・・
829デフォルトの名無しさん:2010/01/15(金) 07:09:19
>>828
ウイルスセキュリティってのはあのソースネクスト株式会社の?

とりあえず
窓の杜 - 【NEWS】オープンソースのウイルス対策ソフト「ClamWin Antivirus」v0.22
ttp://www.forest.impress.co.jp/article/2004/04/12/clamwin.html
これでもう一度スキャンしてみるとか、
あるいは別のところが公開しているインストーラに乗り換えて
ウイルスセキュリティが反応するかどうか見るとか。

830デフォルトの名無しさん:2010/01/15(金) 20:26:32
exe ファイルを書換えるプログラムを問答無用でマルウェアとして検出するソフトがあったりする。
実行ファイル形式のパッチはねこそぎマルウェア扱いになったり。
特定の API を使ってるものや、コードセクションを書換える種類のものもかなりの確率で
マルウェア扱いになるよ。
831デフォルトの名無しさん:2010/01/15(金) 22:05:32
>>830
コンパイラ・リンカ全部アウトじゃんw
832デフォルトの名無しさん:2010/01/15(金) 22:49:04
書き換えるのとは違う気が
833826:2010/01/15(金) 23:22:37
ありがとう やってみます!
あのソースネクストのウイルスセキュリティZEROです
834デフォルトの名無しさん:2010/01/16(土) 08:42:02
教えた甲斐があった。さすが俺じゃんw
835デフォルトの名無しさん:2010/01/16(土) 11:51:04
>>834
お前だれだよw
836デフォルトの名無しさん:2010/01/16(土) 21:17:03
mingw使い始めたんだけどマルチスレッドのオプションって-lpthreadじゃないの?
cannnot find -lpthreadとエラーが出るんだが
837デフォルトの名無しさん:2010/01/16(土) 21:25:35
それともう一つ、日本語が文字化けするのだが
838デフォルトの名無しさん:2010/01/16(土) 21:35:12
839デフォルトの名無しさん:2010/01/16(土) 21:42:55
>>836
それは pthread ライブラリをリンクするオプション。
pthread は主要な環境に対応したマルチスレッドライブラリだが、windows 自身は pthread 互換層をもっていない。
必要ならこれ ↓ を入れればいい。
http://sourceware.org/pthreads-win32/
windows のマルチスレッド API を覆って pthread 互換にしているので、
Windows のみで使うことを前提にするなら直接 Windows API を呼んだほうが融通が効いてよいと思う。
マルチスレッドは色々と複雑な理屈があるので、
他のライブラリと組み合わせるときにはそれがスレッドセーフかどうかとかちゃんと意識すること。
もちろん自分が書く部分もかなり意識しないと結構躓く。
840デフォルトの名無しさん:2010/01/16(土) 21:55:45
どうしてmingwにはd3dx9がないの?
841デフォルトの名無しさん:2010/01/16(土) 23:56:18
>>837

>>732にもあるよ
842デフォルトの名無しさん:2010/01/17(日) 18:35:33
Mesa3Dがコンパイルできない・・・。
X11って何?

7.0.xまではできたのに
843デフォルトの名無しさん:2010/01/17(日) 21:32:36
844デフォルトの名無しさん:2010/01/18(月) 14:07:29
>>843
なーんてね・・・。
845 ◆grDYeooZwg :2010/01/18(月) 23:07:41
MinGWのプリコンパイル済みの開発環境としていつも
MinGW Distro(http://nuwen.net/mingw.html)を使ってるけど
5.0はなんか変だなぁ。

ビルドした後にファイルの容量が異常に増える。欠陥品?
846デフォルトの名無しさん:2010/01/19(火) 00:10:13
質問しようかと思ったのに事故解決したorz
消すのも嫌なので書き残してみるテスト
ちなみに、リンカにも同じオプション渡してclean、リビルドで通った

Dev C++4.9.9.2(MinGW runtime 3.14)をwin2kで使ってるんだけど、
配列の上限ってある?
これから変数一つでも増やすと落ちるんだ

longがcharのちょうど1/4な辺り、メモリ絡みかと思うんだけど、
-Wl,--stack,10485760 (10MB)をCとC++コンパイラにオプション渡してスタック領域広げても落ちるからどうしようかと

#include <cstdlib>
#include <iostream>
using namespace std;

int main(int argc, char *argv[])
{
// unsigned char buf[2080448];
long lbuf[520112];
// short i;
system("PAUSE");
return EXIT_SUCCESS;
}
847デフォルトの名無しさん:2010/01/19(火) 00:52:13
>>846
> ちなみに、リンカにも同じオプション渡してclean、リビルドで通った

そりゃー、-Wl,xxx ってリンカに渡すオプションだもの。リンカを起動
しないコンパイルフェイズのみのときに指定しても意味ない。

848デフォルトの名無しさん:2010/01/19(火) 12:56:46
>>845
デバッグ情報ではないの?
849 ◆grDYeooZwg :2010/01/21(木) 17:44:01
今度は、zziplibのビルドがうまくいかない・・・。
古いバージョン試してもダメ。
http://zziplib.sf.net/

>>848
デバッグ情報でした;
ビルドした後、
strip *.dll
strip *.exe
で削れました。
850デフォルトの名無しさん:2010/01/21(木) 19:47:20
>>849
デバッグ情報が最初から要らないならコンパイル時に -s オプション付けれ
851デフォルトの名無しさん:2010/01/31(日) 05:18:16
cadforte落ちてる?
ウチから繋がらないだけかね。
852デフォルトの名無しさん:2010/02/01(月) 13:51:17
mingw.orgが…
853デフォルトの名無しさん:2010/02/01(月) 13:53:42
TDMをここでの標準にしちまおうぜ
854デフォルトの名無しさん:2010/02/01(月) 23:07:00
>>853
俺もTDM使っているんだけど、最新のgccがバンドルされないのはどうしてですかいな?
待ち遠しいんだけど。
別に最新の機能を使う訳じゃ無いにせよ、さ。
855デフォルトの名無しさん:2010/02/01(月) 23:20:59
TDMの方が本家MinGWよりgccのバージョンは上だよ。
TDMは4.4.1だけど本家は4.4.0。ちなみに本家MinGWの5.1.6というのはgccのバージョンでは
ないよ。

Linuxだってgccのバージョンはディストリビューションによってまちまち。
さほど気にすることでもないと思うが。
856デフォルトの名無しさん:2010/02/01(月) 23:31:15
なるほど。

gccの最新版は4.4.3だが、
本家MinGWで採用されているgccは4.4.0で、
TDMで採用されているgccは4.4.1なのね。

857デフォルトの名無しさん:2010/02/01(月) 23:45:14
cygwinのgcc4は4.3
858デフォルトの名無しさん:2010/02/02(火) 00:36:04
あるバージョンがどのアーキテクチャでも同じように安定して使えるかっていうとそんなこともなくて、
それぞれの環境ごとにある程度使い込んで検証しないと安心して使えない。
それぞれの環境で公式に追従しているバージョンを使うのが最も安全。
違うバージョンの gcc でビルドしたライブラリが混在すると非常に稀ではあるが変なことになったりもするので、
gcc だけ安定していてもそれだけじゃダメなこともある。
859デフォルトの名無しさん:2010/02/02(火) 15:51:12
ぶっちゃけ MinGW は安定するのにかなり時間がかかるな…
860デフォルトの名無しさん:2010/02/02(火) 23:17:08
しかしwww.mingw.orgはどうしたんだろ。
例のちょっとエラの張った感じのオネエチャンの写真が出てくるな。

SourceForgeの方は生きてて、MSYSが2010-01-28に更新されてるんだが...
861デフォルトの名無しさん:2010/02/03(水) 05:49:46
ドメインの更新を忘れたんじゃね
mingw.orgをwhoisで見ると
  Created On:30-Jan-2000 01:56:24 UTC
  Last Updated On:31-Jan-2010 01:22:57 UTC
てなってるから2000年1月30日に取得してから今まで更新してたけど
今回更新を忘れたから期限の翌日に潰されたって感じで
862デフォルトの名無しさん:2010/02/03(水) 06:16:17
一応ドメインの所有者はまだMumit Khan(MinGWの初期の開発者)になってるな

sourceforgeのMLでちょっと話がでてるけどまだ反応が少ない
http://sourceforge.net/mailarchive/message.php?msg_name=201002021317.59904.keithmarshall%40users.sourceforge.net
この人(一応開発者の一人っぽい?)はとりあえず
mingw.sourceforge.netに移そうかって言ってる

Mumit Khanにも連絡したけど返事はない状況みたいで
mingw.sourceforge.netは現状mingw.orgに転送されてるし
そこらへんのメンテナのEarnie Boydもまだ顔を出してないっぽいから
なんか事態に対して全然動けてないみたい
863デフォルトの名無しさん:2010/02/04(木) 09:42:17
戻ったね
864デフォルトの名無しさん:2010/02/04(木) 10:58:54
Mumit Khanは去年の2月に支払い情報をクリアして
ドメイン管理をEarnie Boydに引き継いでいたらしい
更新の通知が来た時もEarnieに言ったんだけど音沙汰なしだったと

んで費用を出してくれるなら協力はするけど…って言ってたけど
結局誰がどのように解決したのかは不明
865デフォルトの名無しさん:2010/02/04(木) 18:13:03
費用っつったってドメインなんて年間1000円くらいじゃん
その程度の費用も出せないの?
もうそれならsourceforgeでいいじゃんって話だわな
866デフォルトの名無しさん:2010/02/05(金) 05:33:42
いーじゃん
すげーじゃん
867デフォルトの名無しさん:2010/02/05(金) 18:24:15
ユーキ君のことはもう忘れてください
868デフォルトの名無しさん:2010/02/06(土) 10:10:33
MigGWを使用しています
GDB6.3.2をインストーラを使用してインストールしたのですが
7.0.1へのアップデートはどのように行えばいいのか教えてください
869デフォルトの名無しさん:2010/02/06(土) 11:24:12
何がわからんのかわからん。
つっかえてるところはどこ?
870デフォルトの名無しさん:2010/02/06(土) 11:30:54
自力でやるしかないでしょ、GDB7.0.1のインストールは
871868:2010/02/06(土) 13:08:09
>869-870
返信ありがとうございます
そもそも7.0.1のバイナリをどうしたらいいのが分かりません
上書きもだめでしたし・・

C言語を勉強するためにMigGW+Eclipseで環境を作ってる最中で
どうせ最新モジュールがあるならアップデートしようとしたものの
全くわからずにお聞きした次第です
872デフォルトの名無しさん:2010/02/06(土) 14:45:51
>>871
だからその「だめでした」のはどういうことか書けっての。
どう駄目だったんだ? 勉強がどうとかどうでもいいよ。
まず必要なことが日本語で書けるようになれよ。
873デフォルトの名無しさん:2010/02/06(土) 15:18:55
>>871
だめでした

それだけで分かると思うてか!
874デフォルトの名無しさん:2010/02/06(土) 17:32:08
答えようとしたんですが、だめでした・・・
875デフォルトの名無しさん:2010/02/06(土) 23:47:07
お聞きしようとしたんですが、だめでした・・・
876デフォルトの名無しさん:2010/02/07(日) 00:02:59
◆だめでした…
877デフォルトの名無しさん:2010/02/07(日) 03:43:02
つーかフォルダ構成見れば分かりそうなものだけどな
MinGWをC:/windows/Program Files/System32/Eclipse/gcc/4.4.0/mingw/にインストールしたとして
SourceForgeから落としてきたgdb-7.0.1-mingw32-mingw64-bin.src.mingw.eclipse.tar.gzを展開して生成されたbinフォルダとshareディレクトリを
C:/windows/Program Files/System32/Eclipse/gcc/4.4.0/mingw/にカット&ペーストすれば
まぁ十中ハック動くと思うけどな
878デフォルトの名無しさん:2010/02/07(日) 09:44:03
どうでもいいんだが、system32 に eclipse 突っ込む
って危険が危ないッ…再インストールみたいな事例が
起こり得そうだから

c:\直下辺りに入れるほうがいいと思うんだ・・・
879デフォルトの名無しさん:2010/02/07(日) 10:06:09
C:/windows/Program Files/System32
880デフォルトの名無しさん:2010/02/07(日) 11:34:02
system ファイルはプログラムファイルじゃない、と思うの
/usr/local/bin
/usr/bin/

gcc/4.4.0/mingw/ のあとに仮想的な環境がぶら下がるし

C:/windows/Program Files/System32/gcc/4.4.0/mingw/usr/bin 下の
云々を云々してとか、堪らんですorz

c:/Users/ユーザー名/System32/gcc/4.4.0/mingw/ ならまだ納得できるけれども・・・
881デフォルトの名無しさん:2010/02/08(月) 00:31:22
冗談に付き合ってくれてるのか真に受けてるのか分からんけど、後者だとしたらすまんかった
mingw-5.1.6.exeでインストールしたなら大抵はc:/mingw/になると思うよ
882デフォルトの名無しさん:2010/02/10(水) 22:33:12
基本的な質問で恐縮です。
日本語が扱えないのですが解決策はありますか?
883デフォルトの名無しさん:2010/02/10(水) 22:42:46
「扱う」というのがどういう意味かによります。
884デフォルトの名無しさん:2010/02/10(水) 22:45:21
>>882
>>883が全て。
885デフォルトの名無しさん:2010/02/11(木) 01:00:15
例えば

#include<stdio.h>

main() {
printf("こんにちは");
}

をコンパイルすると
コンパイルは出来るけど
画面に何も表示されないんです。
アルファベットだと大丈夫なんですけどね。
886デフォルトの名無しさん:2010/02/11(木) 01:53:09
ソースコード中の日本語のエンコードは?
出力したいエンコードは?
887デフォルトの名無しさん:2010/02/11(木) 08:20:29
cp932でスレ検索
888デフォルトの名無しさん:2010/02/11(木) 09:36:14
889デフォルトの名無しさん:2010/02/11(木) 10:53:00
UNICODEの1バイト目が'\0'だから
表示しないで終了してるのかw
890デフォルトの名無しさん:2010/02/11(木) 11:02:14
はあ
891デフォルトの名無しさん:2010/02/11(木) 11:06:03
ひぃ
892デフォルトの名無しさん:2010/02/11(木) 11:25:10
>>888
ふぅ。何度も同じこと書いてるんだがw

本家MinGWだとlibiconvが抜けてるからそのコンパイルオプションは使えない。
TDM版MinGWを使えばOK。

もう一つの選択肢は,ソースコードをUTF-8で書くこと。
893デフォルトの名無しさん:2010/02/17(水) 09:08:57
今までcygwin1.5を使ってたんだけど、
今日違うマシンに1.7.1をインストールしたら>>885と同じ症状になった。
日本語がprintfとかで出力できない。日本語が\0に置き換わったかのような挙動。

ソースはUTF-8だろうとSJISだろうと症状は変わらず。
894デフォルトの名無しさん:2010/02/17(水) 09:34:41
>>893
Cygwin のやつなら >>484 が効くだろ。
input をソースのエンコーディングに合わせて、 exec を LANG の設定に合わせれば
いけるはず。
895デフォルトの名無しさん:2010/02/17(水) 12:38:49
日本語で不自由な思いをするのによく使う気になるなあ
896デフォルトの名無しさん:2010/02/17(水) 13:37:26
cygwin じゃないけど MinGW + Qt だと日本語に不自由しなくなったし国際化も完璧になった
897デフォルトの名無しさん:2010/02/17(水) 19:23:08
Qt かわいいよ
898デフォルトの名無しさん:2010/02/18(木) 08:43:31
>>895
ロケールが多いから仕方ない
899デフォルトの名無しさん:2010/02/18(木) 10:10:28
mintty 使ってutf8で書いてるからそういう問題は起きない。
900デフォルトの名無しさん:2010/02/18(木) 12:20:28
いまどき sjis でソース書くなんて狂気の沙汰
901デフォルトの名無しさん:2010/02/18(木) 19:47:32
別にコメントだけって場合はS-JISでもいいだろ。
全否定するなよ。

まあ今みたいに日本語出力する場合は・・・
環境に合わせろとしか言えんが。
902デフォルトの名無しさん:2010/02/19(金) 06:37:52
sjisとpc98の独占状態が日本をダメにしたらしい
903デフォルトの名無しさん:2010/02/21(日) 14:27:11
ダメになってない。
変化についていけない人がいるだけでしょ
904デフォルトの名無しさん:2010/02/21(日) 16:07:25
バカがよりみすぼらしくなっていき、
頭の良いやつはちゃんと対応できる。

すばらしいことじゃないか。
905デフォルトの名無しさん:2010/02/21(日) 17:07:43
-finput-charsetって、2004年から使えるようになってるんだけどね
906デフォルトの名無しさん:2010/02/24(水) 18:28:50
なんだあ、mingwの自動インストーラーはもうメンテされてないのかあ。ははは。
今はマニュアルインストが推奨かあ。別にそう手間じゃないもんなあ。
ははは。

3時間前の俺のバーカバーカ

復元ポイントとらなかった俺のバーカ

死のう
907デフォルトの名無しさん:2010/02/24(水) 21:48:32
>>906
たががマニュアルインストールくらいで手間を感じるような
お前さんがMinGW使ってもろくな事にならない。
908デフォルトの名無しさん:2010/02/24(水) 23:00:43
>>906
TDM/MinGW Installer
TDM's GCC/mingw32 Builds
ttp://www.tdragon.net/recentgcc/

じゃご不満?
909デフォルトの名無しさん:2010/02/25(木) 02:43:28
>>906
>>908
TDM版の方がいいよー
オフラインインストーラーだから過去Ver手軽に置いておけるし
-finput-charset=cp932 -fexec-charset=cp932そのまま使えるし
910デフォルトの名無しさん:2010/02/25(木) 12:28:10
>>906
復元ポイントが必要なほどシステムに食い込んでないと思うが。
911908:2010/02/25(木) 12:50:36
>>909
いや俺も使っているけど
912デフォルトの名無しさん:2010/02/25(木) 12:51:22
これフォルダ消すだけで大丈夫だろ。
913デフォルトの名無しさん:2010/02/25(木) 13:01:29
>>912
レジストリ
914デフォルトの名無しさん:2010/02/26(金) 02:01:17
>>913
何をいってるんだ君わ
915デフォルトの名無しさん:2010/02/26(金) 05:44:56
>>914
レジストリ使わないのか。しらんかった。
916デフォルトの名無しさん:2010/02/26(金) 08:31:08
Cygwinならともかく、今してるのはMinGWの話だからね。
917デフォルトの名無しさん:2010/02/26(金) 11:55:54
MinGWのgccとかは、どういうわけか適当にincludeディレクトリやlibディレクトリを見つけてくれるから
レジストリ怖い怖いと思っていた時期が
俺にもありました。

でも未だに理屈がわからん。
918デフォルトの名無しさん:2010/02/26(金) 12:56:30
gcc -print-search-dirs
919デフォルトの名無しさん:2010/02/26(金) 20:05:21
>>916
Cygwinは使うのに、
MinGWは使わないのか。

へー。
920デフォルトの名無しさん:2010/02/26(金) 23:47:03
>>917
ディレクトリ構成が決まってるから
自分自身の存在するディレクトリとコンパイルオプションが分かれば>>918のように決定出来る
・・・だよね?
921デフォルトの名無しさん:2010/02/27(土) 05:14:07
環境変数とかコンパイラオプションでincやlibディレクトリが指定されてなかったら、
コンパイラがGetModuleFileName関数で得たパスから決め打ちでアクセスする感じかと。
922デフォルトの名無しさん:2010/02/27(土) 19:14:51
>>917
オリジナルのgccからしてそうだ。
923デフォルトの名無しさん:2010/03/04(木) 06:33:45
>>922
何をいってるんだ君わ
924 ◆grDYeooZwg :2010/03/05(金) 09:04:14
mingw-cross-envで全自動ビルドできるらしいと聞いて使ってみたけど、難が多い・・・。
http://mingw-cross-env.nongnu.org/

しかし、TDM以外にも結構MinGWって亜種が多いようで・・・
http://komisar.gin.by/mingw/
http://msys-cn.googlecode.com/
http://mamedev.org/tools/
http://nuwen.net/mingw.html ※TDM dwarfベース
http://mingw-w64.sourceforge.net/
925デフォルトの名無しさん:2010/03/05(金) 09:50:28
これはすごい!乙

nuwen.netがすごくキレイにまとまってるようで興味あるなあ
926デフォルトの名無しさん:2010/03/05(金) 10:37:38
mamedevのはmingw-w64と同じじゃないか?
927デフォルトの名無しさん:2010/03/05(金) 13:23:00
928デフォルトの名無しさん:2010/03/06(土) 13:56:51
>>923
ビルドオプションか何かで設定するんじゃなかった?
929デフォルトの名無しさん:2010/03/08(月) 22:09:12
>>927
おそロシア
930 ◆grDYeooZwg :2010/03/09(火) 10:13:43
>>925
今までそれ使っていたけど、DLLがすべて動的リンク・・・。

ちなみに、自分はmingw-cross-env+komisarで環境作ってます。
http://cid-367e73e8cc6137b0.skydrive.live.com/self.aspx/Development%20Tools/Logue%20Pack/MinGW%5E_Logue%5E_pack%5E_20100228.7z

入っているもの:
w32api version 3.14.0
gmp-4.3.1
mpfr-2.4.1
ppl-0.10.2
cloog-ppl-0.15.4
mpc-0.7
GNU Binutils 2.20.51.20100124
gcc version 4.4.3 (x86.core2.Komisar) (GCC)
zlib-1.2.3
bzip2-1.0.5
pthreads 2.9.0.0 GC-static

boost-1.4.2, flac-1.2.1, freetype-2.3.12, glew-1.5.2, jpeg-8, iconv-1.13.1(const改造済み),libmad-0.15.1b, libmikmod-3.2.0,
libpng-1.4.1, libsndfile-1.0.21, libogg-1.1.4, SDL-1.2.14, SDL_image-1.2.10, SDL_mixer-1.2.11(難あり), SDL_net-1.2.7,
SDL_ttf-2.0.9, smpeg-0.4.5svn389改, speex-1.2rc1, sqlite-amalgamation-3.6.22, libvorbis-1.2.3, zziplib-0.13.58
931デフォルトの名無しさん:2010/03/09(火) 17:17:04
特定しますた フォローもしましたw
自力で環境構築できるまで頑張ってみる、つもり
932デフォルトの名無しさん:2010/03/09(火) 22:14:42
mingw-w64は64bit専用なの?
933デフォルトの名無しさん:2010/03/09(火) 22:47:14
>>932
32bit用は-m32でコンパイルできるんじゃないの?
934デフォルトの名無しさん:2010/03/10(水) 14:47:48
俺用メモ

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
935デフォルトの名無しさん:2010/03/10(水) 17:28:05
"表"とか"ソ"とかのダメ文字が通らなくて腹立ってきた。
936デフォルトの名無しさん:2010/03/10(水) 17:45:14
utf-8 使うと幸せになれますよ
937デフォルトの名無しさん:2010/03/10(水) 20:46:04
--input-charset=cp932 --exec-charset=cp932
938デフォルトの名無しさん:2010/03/10(水) 23:40:58
コメント以外は全部英語にすればいいじゃんって思えてきた。
939デフォルトの名無しさん:2010/03/11(木) 00:55:28
ハードコーディングしなければいいじゃん
940デフォルトの名無しさん:2010/03/11(木) 13:38:57
そうだね
Qt で QObject::tr とか m18n で書いておけばいいよね
941デフォルトの名無しさん:2010/03/13(土) 10:58:43
コメントこそ英語でいいよ
文字化けするコメントほどうざいものはない
942デフォルトの名無しさん:2010/03/13(土) 11:10:41
>>941
> コメントこそ英語でいいよ
いやそれはおかしい
英語のコメントとか、どうせコーダの英語力なんてたかがしれているのだから
やめるべき。
943デフォルトの名無しさん:2010/03/13(土) 13:39:17
roman letterの出番だな
944デフォルトの名無しさん:2010/03/13(土) 15:23:11
>>943
> 文字化けするコメントほどうざいものはない
おおげさだな。
コメントなら文字化けしても大して問題ないだろう。

バカが書いた英語風の謎言語コメントもウザイだろう。
945デフォルトの名無しさん:2010/03/15(月) 08:58:57
本家mingwは、gcc4.5.0をやってるんだ
946デフォルトの名無しさん:2010/03/15(月) 09:17:34
TDMにメール送っておくか
4.5.0はやくビルドしろって
947デフォルトの名無しさん:2010/03/15(月) 10:55:16
TDMはたぶん安定感のあるバージョンを
優先しているのでは?
948デフォルトの名無しさん:2010/03/15(月) 13:15:35
でもffmpegとかmplayerとかの周りでは4.4.1は問題ありってことで
みんなkomisarに乗り換えちゃったよ
949デフォルトの名無しさん:2010/03/15(月) 13:19:36
じゃあやっぱりTDMがさぼっているだけ。。。
950デフォルトの名無しさん:2010/03/15(月) 13:47:27
>>948
TDMのgccが、ですか?
本家に問題があるようなので乗り換えようと思ってたのですがこっちも問題ありですか…
951デフォルトの名無しさん:2010/03/15(月) 20:23:28
>>948
TDMというよりgcc自体にってことじゃない?
952デフォルトの名無しさん:2010/03/15(月) 21:13:59
そう、gcc4.4.1自体に色々問題があるのでみんな4.4.2にする必要があった
でもTDMは4.4.2を出さないのでkomisarに替えた
バグフィックスも大量にあったのに更新もせずアナウンスもなしだから、
もはや終了ととらえてもいいのかもしれない
953デフォルトの名無しさん:2010/03/15(月) 21:23:27
だだのもんに文句言ってもしょうがないでしょ
954デフォルトの名無しさん:2010/03/15(月) 22:54:44
まあTDMのスレじゃねぇから、俺らとしては
別にそんなに悲しくはないよな。

>>934の中では何がいいってか何が違うの??
Komisar Mingwが一番人気なのかもしれんけど
ライセンス的に人気なの?
955デフォルトの名無しさん:2010/03/15(月) 23:18:52
komisar使ってるけど、これもそろそろ更新して欲しい。
956デフォルトの名無しさん:2010/03/15(月) 23:23:05
XvidVideo.RUを使ってる人はいる?
957デフォルトの名無しさん:2010/03/16(火) 00:13:20
最新のを追っかけたかったらここのでいいの?
http://sourceforge.net/projects/mingw-w64/files/
958デフォルトの名無しさん:2010/03/16(火) 07:25:53
スレ違いかもしれませんが、cygstart の UNC 表記について質問させてくださ
い。cygstart をつかって、ファイルサーバ上にある、エクセルファイルを開
こうとしていますが、ファイルが見つからないと
エラーがでます。そのエラーにパスが表記してあり以下の文字列を先頭につけ
ています。

\\?\unc

ワードは、エラーはでないがやはり開けず、新規ファイルを開いた上体にな
る。ローカルマシンのファイルはエクセルでも問題なく開けるし、フォルダな
どはサーバ上でも exploreで普通に開いてくれます。

これは、エクセルが UNC に対応してないということだと思いますが、何か回
避の方法がありましら教えてください。

959デフォルトの名無しさん:2010/03/16(火) 07:39:25
ドライブレター振ってみたら?
960デフォルトの名無しさん:2010/03/16(火) 08:37:39
>>957
mingw-w64はmingwとは別プロジェクト。中の人も別。
経緯は知らないけどあまり仲は良くなさそな気がする
961デフォルトの名無しさん:2010/03/16(火) 08:50:55
mingw-w64やってる人って、かなり勢いがあるみたいだけど
962デフォルトの名無しさん:2010/03/16(火) 08:52:15
猪突猛進
963958:2010/03/16(火) 10:23:32

もう少し詳しく書くと、以下のようなパスを持ってきて、cygstart に渡して
います。(この段階ですでに、UNC 表記になってる)

\\servername\path\foobar.xls

これが、ファイルが見つかりませんと表示されるメッセージボックスには、以
下のように表示されます。

\\?\unc\servername\path\foobar.xls

なので cygstartに渡されたあとに、UNC 表記に変換されてエクセルに渡され
ているようです。以前のバージョンでは、これで問題なく開いてくれました。
(以前のバージョンは 1.7 であることは間違いありませんが、いくつだった
か覚えてません)

cygstart にこの表記をしないでエクセルに渡すような、引数はないようでし
た。
964デフォルトの名無しさん:2010/03/16(火) 10:37:18
gcc4.4.1自体の問題に遭遇できる人が何人いるんだかわかんないのに...
965デフォルトの名無しさん:2010/03/16(火) 13:11:35
>>958
ちょっとだけ試してみた。

(581) cygstart --verbose //hostname/dirname
ShellExecute(NULL, "(null)", "\\?\UNC\hostname\dirname", "(null)", "(null)", 1)
Unable to start '\\?\UNC\hostname\dirname': The specified path was not found.

(582) cygstart --verbose //hostname/dirname/tmp/
ShellExecute(NULL, "(null)", "\\?\UNC\hostname\dirname\tmp", "(null)", "(null)",

手元の環境では1つ目のフォルダは開けないけど2つめのは開けた。
ファイルの場合も同じで開けるパスと開くのに失敗するパスがある。
*.xls でも *.xlsx でも *.doc でも *.docx でも開けるファイルと
開けないファイルがある。 条件はよくわからん。

試した環境は Windows 7 64bit + Office 2007 です。
966デフォルトの名無しさん:2010/03/16(火) 17:05:39
Cygwinを環境として使うことに関するスレはunix板にあるよ
ここはCygwinでの開発に関するスレってことになってるので(似たようなもんかもしれんが)次からはそっちで頼む
http://pc12.2ch.net/test/read.cgi/unix/1268282846/
967デフォルトの名無しさん:2010/03/18(木) 02:05:35
How to Compile x264 on 32 & 64 Bit Windows
http://doom10.org/index.php?topic=26.0
968デフォルトの名無しさん:2010/03/18(木) 08:05:30
MinGW公式でGCC4.5.0が発表されているのはスルーですか?
http://sourceforge.net/projects/mingw/files/MinGW%20Proposed/gcc-4.5.0_20100311-1/

それにしても、なんで公式は、安定版の4.4.3をスルーしたんだろう?
969デフォルトの名無しさん:2010/03/18(木) 09:36:33
ビルドできましたって、だけでしょ
970デフォルトの名無しさん:2010/03/19(金) 22:35:01
Msysの環境整えるのが面倒だったから、勝手にインストーラ作った。
http://file.logue.be/dl/f/AwnFXj4p87
971デフォルトの名無しさん:2010/03/21(日) 01:22:20
Cross-Mingw.GCC 4.5.0 - x86/x64 - Experimental Release (20100320_0024) with pthreads 2.9.0.0 shared
Cross-Mingw.GCC 4.5.0 - x86/x64 - Experimental Release (20100320_0024) with pthreads 2.9.0.0 static
が出てた。
http://www.xvidvideo.ru/2009-10-22-10-49-14/cat_view/28-cross-mingwgcc-x86x64/160-cross-mingwgcc-45-x86x64.html
972デフォルトの名無しさん:2010/03/21(日) 12:13:26
誰かTDMを焚き付けてくれ!!
973デフォルトの名無しさん:2010/03/21(日) 12:20:08
英語で「早く4.5.0にせんかいカス」と送ってみようか
974972:2010/03/21(日) 12:30:36
もうちょっと優しく送ろっか。

いつも TDM mingw32 をありがたく使用させていただいております。
この度、g++がversion 4.5.0となり、TDM mingw32 もそれに追従して
バージョンアップしていただけませんでしょうか。
待ち遠しくてなりません。
どうかよろしくお願い申し上げます。

これを英訳すればOK?
975デフォルトの名無しさん:2010/03/21(日) 12:36:09
それとももしかして
ttp://en.wikipedia.org/wiki/Mingw
Stable release 4.4.0 / June 22, 2009; 8 month(s) ago (2009-06-22)
Preview release 4.5.0 / January 1, 2009; 14 month(s) ago (2009-01-01)
とのことで、まだ4.5.0はPreview releaseだからヤダとか
思っているのかな?

でも別に今までのインストーラだって捨てないで取っておけばいいわけだし、
Preview release の 4.5.0 も作ってくれてもいいよね。

依頼してみたい所だ。
976デフォルトの名無しさん:2010/03/21(日) 13:03:34
依頼しなくても、自前でビルドすりゃいいじゃん
gcc version 4.5.0 20100311 (experimental) (GCC)
977デフォルトの名無しさん:2010/03/21(日) 16:03:29
そんな能力あったらインストーラーつかいません。
978デフォルトの名無しさん:2010/03/21(日) 16:17:37
gcc.exe (GCC) 4.5.0 20100319 (experimental)
979デフォルトの名無しさん:2010/03/21(日) 16:36:50
mingw-w32-bin_i686-mingw_20100320.zip
http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/
mingw-w64-bin_i686-mingw_20100320.zip
http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/

ここは毎日出てるな
980デフォルトの名無しさん:2010/03/21(日) 17:43:33
そもそもgccの4.5系列は開発中のものということを分かって言ってるんか
981デフォルトの名無しさん:2010/03/21(日) 18:17:16
>>979毎日updateってすげぇな。


>>980
>>975
982デフォルトの名無しさん:2010/03/21(日) 22:38:12
gcc.exe (GCC) 4.4.4 20100318 (prerelease) [svn/rev.157541 - mingw-w64/oz]

4.4.4も開発中か。
983デフォルトの名無しさん:2010/03/22(月) 09:22:43
>>972
要望出している人はいるが、ずっと放置プレイ。
http://sourceforge.net/tracker/index.php?func=detail&aid=2942036&group_id=200665&atid=974442
984デフォルトの名無しさん:2010/03/22(月) 12:19:39
放置プレイかw

g++ (TDM-2 mingw32) 4.4.1
って結局何がまずいのでしょうか?
985デフォルトの名無しさん:2010/03/23(火) 05:34:59
mingw-w64について疑問があるんだが、解凍先\binフォルダ内のやたら長いファイル名のやつじゃないとコンパイルできないんだよね
mingwフォルダや、x86_64-w64-mingw32フォルダにはgcc.exeみたいに短いファイル名のファイルもあるけど、そっちのフォルダを環境変数に指定しても正常に動作しないんだが
なぜあんな変に長ったらしいファイル名になってるの?まさか既存のmingwと共存とか変なことかんがえちゃってるの?
986デフォルトの名無しさん:2010/03/23(火) 10:51:34
>>985
俺はリネームして使ってるぞ
ttp://www14.ocn.ne.jp/~bkclass/bkrename.html
987デフォルトの名無しさん:2010/03/23(火) 11:08:05
早くしてくれないとラムダが使いたいという欲求が満たせない。
988デフォルトの名無しさん:2010/03/23(火) 14:53:58
Personal Buildsの方は4.4.4ベースだけど、こっちのが使いやすい。
989デフォルトの名無しさん:2010/03/23(火) 15:17:09
番号ごとに開発が別々なんて変わってるね。
990デフォルトの名無しさん:2010/03/23(火) 23:16:12
mingw-w32-bin_i686-mingw_20100322_sezero.zip
http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/
mingw-w64-bin_x86_64-mingw_20100322_sezero.zip
mingw-w64-bin_i686-mingw_20100322_sezero.zip
http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/

sezeroの方も珍しくバージョン上がってる。
991デフォルトの名無しさん:2010/03/24(水) 03:15:50
MinGW猫科研究所パック

概要
MinGWの環境構築が面倒な人向けのパッケージ。

基本方針
簡単に導入できる。
ffmpegがビルドできる。
メジャーなライブラリ類は含めていくかも。

インストール
基本的にはアーカイブを展開するのみ。
リリースによってはその後、バッチファイルやシェルスクリプトを起動。
http://up-cat.net/MinGW%25C7%25AD%25B2%25CA%25B8%25A6%25B5%25E6%25BD%25EA%25A5%25D1%25A5%25C3%25A5%25AF.html
992デフォルトの名無しさん:2010/03/24(水) 03:45:02
>>990
sezeroってPersonal Buildのカテゴリの中に入ってるけど、一般ユーザーはこれを使ってろってこと?
993デフォルトの名無しさん:2010/03/24(水) 03:58:26
猫科研究所パック使ってバグ報告してやってくれよ
いま一番使えるのはこれだと思う。
すべて最新板とは限らないだろうが。
利用者増えれば更新もよくなるはず
994デフォルトの名無しさん:2010/03/24(水) 04:04:56
猫料理研究所なんてあんの?
995デフォルトの名無しさん:2010/03/24(水) 08:43:01
猫科研究所(felid labo) - MinGW猫科研究所パック

assemble005
gdb-7.0.50以外の主要コンポーネントはa004と同じ。

assemble004
gcc-3.4.5(gccとg++のみ)
Twilight Dragon Media版gcc-4.4.1-tdm-2(gccとg++のみ)
mingwrt-3.17
w32api-3.14
binutils-2.20-1
gdb-7.0-2
SIMD版libjpeg
libpng
libiconv + cp932パッチ
libxml2

こんな感じなのか。
結局TDMがリリースされない限り新しいgccも手に入らないんじゃね。
996デフォルトの名無しさん:2010/03/24(水) 08:58:42
まあ別に
gcc4.5.x系が正式リリースされたら初めて
TDMが重い腰を上げるんじゃないかな。
それまで待てばいいじゃないか。
997デフォルトの名無しさん:2010/03/24(水) 08:59:53
いい加減最新房うざい
欲しければ自分でコンパイルしろ
低スキルの奴ほど訳も分からずに番号の大きいバージョンを使いたがる
998デフォルトの名無しさん:2010/03/24(水) 11:09:47
こういうヤツに限って自分でコンパイルできない罠
999デフォルトの名無しさん:2010/03/24(水) 11:51:47
自前でビルドするって、結構大変だよ
1000デフォルトの名無しさん:2010/03/24(水) 12:06:10
おお
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。