5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

Cygwin + MinGW + GCC 相談室 Part 3

544 :デフォルトの名無しさん:2008/02/23(土) 09:23:36
浮動小数点演算を行なうルーチンをコンソールアプリ(main関数)から呼んだときと
Win32 API で書いた GUI アプリから呼んだときとで計算結果が違うという問題に
悩まされています。どなたか解決策をご存じないでしょうか。

問題を再現する、できるだけ小さなプログラムを作りました。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6078.zip
付属の Makefile は MinGW (GNU make)用です。
test1.exe(コンソールアプリ)と test2.exe(GUI アプリ)をビルドして実行します。
どちらも init.c の initialize() を呼び出します。
initialize() は double 型の配列 x を初期化する関数です。
計算結果を見るために x[5] と x[6] をカレントディレクトリの output.txt に書き出しています。
gcc version 3.4.5 (mingw special) では以下のようになりました。

test1.exe
x[5] = 4.7474747474747475e-001
x[6] = 4.6969696969696967e-001

test2.exe
x[5] = 4.7474747474747475e-001
x[6] = 4.6969696969696972e-001

同じルーチンを呼んでいるのに x[6] の値が異なります。x[5] は一致しています。

比較のために VC++ Toolkit 2003 (nmake.exe) 用の Makefile.vc も入れておきました。
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for 80x86
でコンパイルしたところ2つのプログラムの計算結果が配列 x の全要素について一致しました。
MinGW (gcc) でコンパイルしたときの test2.exe の計算結果と一致しています。
すなわち test1.exe の計算結果がおかしいようです。

どなたか解決策をご存知の方がいらっしゃいましたらご教示下さい。よろしくお願いいたします。

545 :デフォルトの名無しさん:2008/02/23(土) 09:53:13
面倒だからソースは見ていないけど、どちらかはFPUで計算を行いどちらかはSSEで計算を行なっていると思われる。
コンパイルオプションで強制できるから、必要なら強制すればいい。
但し、doubleの精度を超えた領域の話なのでどちらも間違っているとはいえない。

546 :デフォルトの名無しさん:2008/02/23(土) 09:55:30
./test1
4.7474747474747475e-001
4.6969696969696967e-001
./test2
4.7474747474747475e-001
4.6969696969696967e-001

gcc version 4.1.2

ごめん、役に立てそうも無いw
とりあえずmap出力してdiff取ってみたらどうか

547 :デフォルトの名無しさん:2008/02/23(土) 10:01:53
アセンブリ出力を見るだけだろ。常考

548 :デフォルトの名無しさん:2008/02/23(土) 10:17:20
同じになっちまった。
.gcc version 3.4.5 (mingw special)
/test1
cat output.txt
4.7474747474747475e-001
4.6969696969696967e-001
gcc -o test2.exe -mwindows test2.c init.o
./test2
cat output.txt
4.7474747474747475e-001
4.6969696969696967e-001

gccオプションに--save-temps
しかし、同じ.oファイル使ってるから意味ないか。

fprintf(fp, "%hX\n", x[5]);
fprintf(fp, "%hX\n", x[6]);
これ出力しても結果異なるよね?

まぁ、ollydbgあたりでステップ実行すれば原因はわかるかと思う。

549 :デフォルトの名無しさん:2008/02/23(土) 10:20:48
そういえば、全然関係ない話だけど
MinGWのprintfで、%hhXとかうまく機能しない原因知ってる人いない?

550 :デフォルトの名無しさん:2008/02/23(土) 11:00:51
msのcランタイムがc99対応じゃないから

551 :デフォルトの名無しさん:2008/02/23(土) 11:19:49
msのランタイムって、FPUの精度を固定していないか?
>544はもう一回動かしてもtest1のx[6]は違う値のまま?

552 :デフォルトの名無しさん:2008/02/23(土) 12:01:31
15桁目まで同じだからdoubleの精度としては問題ない。

553 :549:2008/02/23(土) 12:03:17
C99以前ではhhxって使えなかったんだ。
知らなかった。

554 :デフォルトの名無しさん:2008/02/23(土) 12:18:37
x86のFPUは、80ビット精度と64ビット精度が存在する。
SSE2は64ビット精度。
とかそのへんの問題かな?

>>551に一票。

浮動小数点演算の検算で精度気にしすぎると禿げるぞ。
ε使えε

555 :デフォルトの名無しさん:2008/02/23(土) 12:55:41
テキストで出力すると計算の問題なのか出力関数の問題なのか分からんな。
バイナリで出力(あるいは16進ダンプ)してみて
どうなるかチェックした方がいいと思う。

例えば
fprintf(fp, "%.16e\n", x[5]);
これを
output(fp, x[5]);
にして、output を別翻訳単位で下のように定義してみたらどう?

void output(FILE *fp, double value)
{
 union {
  double value;
  char array[sizeof (double)];
 } dc = { value };
 int i;

 for(i = 0; i < sizeof (double); ++i) {
  fprintf(fp, "%02X ", dc.array[i]);
 }
 fputchar('\n', fp);
}

556 :デフォルトの名無しさん:2008/02/23(土) 12:56:53
_controlfp あたりでぐぐれ

557 :デフォルトの名無しさん:2008/02/23(土) 13:05:31
VCとgccのデフォルトのFPU計算精度は異なるらしい
http://homepage1.nifty.com/herumi/prog/prog90.html
_controlfpでいじると同じ精度にできる

558 :デフォルトの名無しさん:2008/02/23(土) 13:11:46
おー、それだそれだ、思い出した。

559 :544:2008/02/25(月) 14:04:07
皆さまコメントありがとうございました。>>556-557の方法で解決いたしました。

使用していた Windows 環境では MinGW でコンパイルしたコンソールアプリは 53 ビット、
MinGW でコンパイルした GUI アプリと VC++ Toolkit 2003 でコンパイルした両アプリは
64 ビットの演算精度を用いていたようです。

別の Windows 環境で試したところ MinGW でも両アプリとも同じ計算結果になりました。

コンソールアプリを MinGW でコンパイルすると演算精度が 53 ビットになる環境がある、
確実を期すなら  _controlfp を使え、ということですね。

髪がすこし減ってしまった気がします。本当にありがとうございました。

560 :デフォルトの名無しさん:2008/02/25(月) 14:29:41
つーか、doubleの精度以上の処を云々すると禿げるよ。
どうせ微小誤差が付き纏うんだから適当な桁で丸めて表示するとかしないと。

561 :544:2008/02/25(月) 15:57:08
>>560
おっしゃる通りです。

今回の件が気になってしまったのは、シミュレーションコードのデバッグ中だったためです。
実行環境やコンパイラが違ったら気にしないところですが、同じ環境で同じオブジェクトコードに
同じ入力データを与えているにも関わらず計算結果が違うことにとまどってしまいました。
原因はdoubleの範囲を越えた部分の誤差でしたが、この問題を調べるきっかけになった
シミュレーション結果の違いはもっと有意な差だったので看過できませんでした。

育毛にはげみます。

562 :554:2008/02/25(月) 21:54:36
>>561
> シミュレーション結果の違いはもっと有意な差だったので

俺は予言する
もまいは禿げる。

肝心のアルゴリズム、あるいはテストベクタが草ってんじゃない?

563 :デフォルトの名無しさん:2008/02/25(月) 22:13:26
>>561
IEEEに準拠するように80bitではなく強制64bitにするオプションがあったはずだが

564 :デフォルトの名無しさん:2008/02/26(火) 13:18:47
>>563
>556-559

565 :デフォルトの名無しさん:2008/02/27(水) 14:03:31
そんなあなたを禿増してあげましょう

566 :デフォルトの名無しさん:2008/03/04(火) 02:29:06
>>541 発見しますた
ttp://sohda.net/cygwin/dist/mirror/www.geocities.jp/meir/cygwin_ck/

567 :デフォルトの名無しさん:2008/03/07(金) 09:16:50
OS再インスコしてdevcpp+SDLで以前のソースコンパイルしたらWinMain@16なエラーが('A`)
int main(ryから始めてるし-mwindowsも付けてるのに
cygwinでもインスコすれば変わるかなあ

568 :デフォルトの名無しさん:2008/03/07(金) 10:14:40
-lSDLmain付け忘れ&-l順番ミスでしたサーセン
SDL外したらコンパイル通って、sdl-config見てやっと思い出した

569 :デフォルトの名無しさん:2008/03/24(月) 17:59:52
相談じゃなくて雑談になるんだけど
g++4.3.0をビルドしてみたんだけど、g++のbinが460,475ってでかくね?
cygwinのインストーラからのg++3.4.4は96,789、verうpとかモジュール化とか考えてもねぇ。
とか思いながら動作テストで↓コンパイルしたら、2,339,843、メガってどうなの。(ちなみに3.4.4でも477,682、g++4.3.0binよりでけぇ
#include <iostream>
int main(){return0;}
これって一体何がバイナリに組み込まれてるのか気になるんだけど、分かる人教えてー、誘導だけでもいいから。
ちなみに#include<iostream>だけ消したら3.4.4が7,673、4.3.0が10,915と小さくなった。(勿論gccじゃなくてg++で

570 :デフォルトの名無しさん:2008/03/24(月) 18:09:00
stripしろよ
ライブラリのdebug infoもな

571 :デフォルトの名無しさん:2008/03/24(月) 18:30:48
なるほど、どうもー。

572 :デフォルトの名無しさん:2008/03/25(火) 07:07:47
g++ 普通にビルドできるのか?
それならなんで Cygwin のパッケージは 3.4 のままいっこうに動かないんだろう。

573 :デフォルトの名無しさん:2008/03/25(火) 13:33:08
そのうち、stripしてもまだサイズがでかいがどうしてだ? といった
ググれば5秒で分かるFAQを聞きに戻ってきそうだ

574 :デフォルトの名無しさん:2008/03/25(火) 14:25:42
嫌味だけは一丁前でな

575 :デフォルトの名無しさん:2008/03/25(火) 17:16:47
>>572
できたよー
そういや俺も昔クロスコンパイラ作ろうとしたけどビルド出来なかった覚えがあるな
そんときは原因分からず仕舞いやったけど

cygwinのパッケージはlinuxでビルドされてるらしいから3.4で動かない原因は別なんじゃない?

576 :デフォルトの名無しさん:2008/03/29(土) 06:08:53
Windows XP SP2 上で Cygwin gcc 3.4.4 の MinGW モードで開発してるんですが、
システムメニューの項目を EnableMenuItem() を使ってグレーアウトさせようとしてもできません。

具体的には、ウィンドウプロシージャで WM_CREATE を受け取ったとき

 EnableMenuItem(GetSystemMenu(hWnd, FALSE), SC_MOVE, MF_GRAYED);

としても、システムメニューの「移動」がグレーアウトせず、有効なままになってしまいます(実際にウィンドウ移動もできる)。
MF_GRAYED を MF_DISABLED にしても同様で、システムメニューからウィンドウ移動ができてしまいます。

 DeleteMenu(GetSystemMenu(hWnd, FALSE), SC_MOVE, MF_BYCOMMAND);

ならば正常に機能し、項目が削除されるんですが…。

似たような環境で EnableMenuItem() によるシステムメニュー項目のグレーアウトができている方がいれば
方法など教えていただけないでしょうか?

577 :デフォルトの名無しさん:2008/03/29(土) 06:18:22
すみません。追記です。

 EnableMenuItem(GetSystemMenu(hWnd, FALSE), SC_CLOSE, MF_GRAYED);

は正常に機能し、システムメニューの「閉じる」とタイトルバーの×ボタンがグレーアウトするようです。
となると「移動」とか「サイズ変更」がグレーアウト/無効化できないのは Windows API 自体の仕様なんですかね?
もしそうだったらスルーしてください。Cygwin + MinGW 環境固有の問題かと早合点してしまったので。

578 :デフォルトの名無しさん:2008/03/29(土) 17:36:49
Win32 API スレの管轄だろうな。
ま、それはともかく設定するタイミングが駄目だと思う。


ttp://msdn.microsoft.com/library/ja/jpwinui/html/_win32_getsystemmenu.asp?frame=true
>GetSystemMenu
>
>状況によって、システムはウィンドウメニューの標準的なメニュー項目の一部を自動的に淡色表示にします。
>アプリケーションは、どのメニューも表示されていないうちに WM_INITMENU メッセージに応答することにより、
>メニュー項目を独自に選択したり淡色表示にすることができます。

ということで、WM_INITMENU でやればいいと思う。っつーか、普通のメニューでも項目の無効化等はそこでやると思うんだけど。

579 :デフォルトの名無しさん:2008/03/31(月) 13:20:29
>>578
スレ違いの質問にお答えいただいて恐縮です。
仰る通り WM_INITMENU を受け取ったときに設定することで「移動」「サイズ変更」もグレーアウトさせることができました。

ただし、WM_INITMENU メッセージでは wParam に対象メニューハンドルが格納されるらしいのですが、
システムメニューに関してはこれは当てはまらないようです。なので、

 if(wParam == (WPARAM)GetSystemMenu(hWnd, FALSE)){
  ...
 }

などとすると if 文の中身は決して実行されないようです。
よって、システムメニューを設定するだけなら wParam は無視すべき、ということみたいです。

580 :デフォルトの名無しさん:2008/03/31(月) 13:46:42
WM_INITMENUPOPUPなら見分けがつくんでない?

581 :デフォルトの名無しさん:2008/03/31(月) 14:43:40
>>580 アドバイスありがとうございます。やってみましたが、

 if(HIWORD(lParam) == 1){
  ...
 }

というテストはうまくいくものの、wParam にはシステムメニューのハンドルが入っていないようです。
ですので、EnableMenuItem() などに渡すメニューハンドルはやはり GetSystemMenu() を使って自前で取得しなければ
ならないようです。
また、WM_INITMENUPOPUP を受け取ったときに EnableMenuItem() を呼ぶと、タイトルバーから初めてシステムメニュー
を呼び出したとき、システムメニューの表示位置が若干上にずれて、タイトルバーを覆い隠すような形で出てくるようです。
まあ2回目以降は正常に戻るので、気にするほどのことではないかもしれないですが…。
あと、WM_INITMENU の場合は対象がシステムメニューかどうか見分けが付かないので、自分で初回スイッチのような
ものを用意して対処する必要がありそうですね。

それと、さっき色々試していて気が付いたのですが、WM_INITMENU または WM_INITMENUPOPUP を受け取ったときに
EnableMenuItem() する方法だと、タスクバーを初めて右クリックしたときに項目が無効にならないようです。
2回目以降、もしくは初回であっても事前にタイトルバーからシステムメニューを表示させていれば EnableMenuItem()
の設定が反映されるんですが…。

調べてみたところ、タスクバーが右クリックされたときには非公開メッセージ 0x313 が送られてくるとの情報があったので、
(参考: http://www.hey-to.net/ML-archive/vcppML/1999/msg03694.html)
0x313 を捕捉し、そのハンドラで EnableMenuItem() などの設定を行い、
さらに DefWindowProc() にメッセージを処理させればよい…みたいです。

>>576の環境でしかテストしていないのであまり自信がないですが、これだと一応タスクバー初回右クリック時も正しく
項目が無効化されたシステムメニューが表示されます。
とはいえ、非公開メッセージに依存するのも微妙な感じなので、いっそ WM_CREATE のハンドラで無効にしたい項目を
DeleteMenu() してしまうのが一番簡単かもしれないですね。

長文失礼しました。Windows って難しいです。

582 :デフォルトの名無しさん:2008/03/31(月) 15:22:25
>>581
Win32 API スレいって揉まれてくるといい

583 :デフォルトの名無しさん:2008/04/01(火) 13:51:30
cygwinでopenmpは使える??

584 :デフォルトの名無しさん:2008/04/01(火) 18:57:24
>>581
これじゃダメなんかい?

DWORD dwStyle = GetWindowLong(hWnd, GWL_STYLE) & ~WS_SIZEBOX;
SetWindowLong(hWnd, GWL_STYLE, dwStyle);


585 :デフォルトの名無しさん:2008/04/03(木) 15:23:40
windows2k MinGW を入れたいのです
MinGWインストーラがネット無いので使えません
ソースフォージからどれを落とせば良いでしょうか
またそれは全て同じフォルダに上書きで良いでしょうか
binフォルダなどかぶっているものがおおいんです
使いたいのはC、C++、SDL、OpenGLです
パスは適当に通そうと思っています

586 :デフォルトの名無しさん:2008/04/03(木) 17:14:48
MinGWインストーラはDownload Onlyを選べば、落とすだけを選択できるぞ
あとは上書きで桶

587 :デフォルトの名無しさん:2008/04/03(木) 17:18:07
>>586
おおありがとう!
じゃあ遠かったHelloWorldも近づきますノシッ

588 :デフォルトの名無しさん:2008/04/11(金) 13:50:57
ちょっとお聞きしたいのですが、mingwでは-Iオプションは使えないのでしょうか?
g++ --help でリストに出てこないのです。
しかしg++ -I とすると argument to `-I' missing のような感じで、unrecognize option `-j' みたいな感じではでてこないので、使えるような気もするのですが・・

589 :デフォルトの名無しさん:2008/04/11(金) 14:32:18
>>588
g++ -v --help で出てきませんかな。
正直 gccのオプションはかなり多いので g++ --version でバージョンを確認してから
ぐぐるなり GCC online document http://www.gnu.org/software/gcc/onlinedocs/
から探すなりしてマニュアルを読んだほうがよいかと思います。

590 :デフォルトの名無しさん:2008/04/11(金) 14:42:10
>>588
使える

591 :588:2008/04/11(金) 15:00:25
>>588さん
>>580さん

レスありがとうございます。
使えるのですか。
-I使う場合は、Windows用に
-IC:\Program Files\...
みたいな感じで書けばよいのでしょうか?

上記の感じでやってみたのですが、うまくいかなく・・

592 :588:2008/04/11(金) 15:01:37
>>588さん→>>589さん
>>580さん→>>590さん


593 :デフォルトの名無しさん:2008/04/11(金) 15:06:08
>>591
スペースが入ってるみたいだけど...

594 :デフォルトの名無しさん:2008/04/11(金) 15:21:52
>>591
パスにスペースを含む場合は "" で囲むと聞いたことがあるけど
-I"C:\Program Files\..." ではだめかな

595 :デフォルトの名無しさん:2008/04/11(金) 15:48:56
分割されなきゃいいのだから、空白をエスケープするだけでもいいかも。
それはさて、ディレクトリ区切りのバックスラッシュってエスケープする必要あるんでない?

596 :デフォルトの名無しさん:2008/04/11(金) 16:17:38
スラッシュにした方がいいな
-l"C:/Program files/..."

ていうか相対パス指定できるように環境を整えた方が
のちのち便利だと思う

597 :デフォルトの名無しさん:2008/04/11(金) 17:43:01
レス下さった方々、ありがとうございます。

-l"C:/Program files/..."
こんな感じでとりあえず目的のコンパイルはできるようになりました。多謝です。

相対パス指定のための環境構築について、検索してみたのですが、それっぽいのが出てきませんでした。
スレ違いで申し訳ないのですが、よろしければどなたか解説してるサイト教えて頂けると幸いです。


598 :デフォルトの名無しさん:2008/04/11(金) 18:01:43
msysかcygwinをいれちゃう。
あなたならおそらくmsysのほうがおすすめ。

ふと思ったがmingw単体で使ってる人ってけっこういるんだろうか。



599 :デフォルトの名無しさん:2008/04/11(金) 20:46:30
あっちの関連スレにここがあったから貼り返し。

Cygwin使っている人いますか? その18
http://pc11.2ch.net/test/read.cgi/unix/1184677144/

600 :デフォルトの名無しさん:2008/04/11(金) 22:11:33
>>598
俺々、俺だよ
msysはgccのsnapshotをコンパイルするときくらいしか使ってない

601 :デフォルトの名無しさん:2008/04/11(金) 22:17:04
msysはUNIX系用に書かれたアプリをWindows環境で
makeや./configureするためだけにあるようなもんだから
純粋なWindowsアプリ作るときは、いらんだろ。
それともWindowsアプリ書くときも、mv や cp や sh コマンドを使うヤツがおるのか?

602 :デフォルトの名無しさん:2008/04/11(金) 22:28:16
そこまで使うような奴だったらCygwinを入れているだろうしな。

603 :597:2008/04/11(金) 23:26:58
レスありがとうございますー。
なるほど、msysからなら相対パスで指定できたのですか。

実はmsysは導入してるんですが、今コンパイルしようとしてるソースがeclipseのプロジェクトのもので、
eclipseのbuildセッティングからオプション指定しなければいけないが気がするのです。

eclipseからのオプション指定付きのコンパイルは、絶対パスでですが成功したのでとりあえず解決しました。
eclipseからも相対パスで指定できたら便利なのかもしれませんが、スレ違いなのでここではやめておきます。

色々ご教示くださりありがとうございましたm(_ _)m


604 :デフォルトの名無しさん:2008/04/12(土) 15:11:57
よく分からないんだが、prefix を適当なマクロ名(たとえばSRC_DIR)で定義しておいて
-I"$SRC_DIR/include" とか書けばいい、という話?
Makefile内ではダブルクオートで囲んであってもマクロ展開が行なわれる。
ダブルクオート付きのまま実行されるので SRC_DIR=C:/Program Files/GnuWin32 のように
スペースを含んでいても無問題。

605 :デフォルトの名無しさん:2008/04/12(土) 15:21:51
>>601-602
俺はWindows環境でMinGWを使ってプログラムを書くときはいつも
Makefileを書いてるからmsysがないと不便かもー。
exe単体(dll不要)で実行できるのがMinGWのいいところだから
俺的には MinGW + msys = Cygwin ではない。

606 :デフォルトの名無しさん:2008/04/12(土) 16:54:08
>605
-mno-cygwin つければ cygwin1.dll 使わなくなるんだから、MinGW + msys ⊂ Cygwin とか混ぜっ返してみる。

607 :デフォルトの名無しさん:2008/04/12(土) 17:58:19
>>606
なるほろ。どうもです。

608 :デフォルトの名無しさん:2008/04/12(土) 18:39:40
全く混ぜっ返せてない気がするのは気の所為だろうか。

609 :デフォルトの名無しさん:2008/04/12(土) 23:38:33
>>605
nmake 使った事無いの?

610 :デフォルトの名無しさん:2008/04/13(日) 02:43:01
なぜそこでnmakeがでてくるんだ?

611 :デフォルトの名無しさん:2008/04/13(日) 03:50:56
>>609
聖徳太子って知ってる?

612 :デフォルトの名無しさん:2008/04/13(日) 04:06:39
知ってる。
人に非ずな美人な子供で同性愛者な上にマザコンな皇子でしょ?

613 :デフォルトの名無しさん:2008/04/13(日) 05:10:58
知ってる。
突然びっくりするぐらいブチ切れる人でしょ

614 :デフォルトの名無しさん:2008/04/13(日) 15:09:40
知ってる。
100万人が同時にしゃべっても聞き分けられた人でしょ

615 :デフォルトの名無しさん:2008/04/13(日) 16:14:52
それってさ
聖徳太子が聞き分けられてる
と気づいた人のほうが数段上だよね

616 :デフォルトの名無しさん:2008/04/13(日) 16:58:47
みんなして同じことしかいってなかったんだよね

617 :デフォルトの名無しさん:2008/04/13(日) 17:11:04
MinGWに付いているwindres.exeは
windres --language=0411 ファイル名.rc
とすればShift-JISのrcファイルを読めるけど、UTF-16のrcファイルは読めますか?
languageオプションに指定できる値の情報がどこにも無くて、UTF-16に対応してるかどうか分からない…
(ちなみにVC9のrc.exeは文字コードを自動判定してるようでShift-JISもUTF-16もオプションなしで読めるみたい)

618 :デフォルトの名無しさん:2008/04/13(日) 19:35:39
windresのソースのこの辺り↓を見るしかなさげ?
http://sourceware.org/cgi-bin/cvsweb.cgi/src/binutils/winduni.c?rev=1.10&cvsroot=src
http://sourceware.org/cgi-bin/cvsweb.cgi/src/binutils/winduni.h?rev=1.7&cvsroot=src
なんだかコードページしか指定できないように見える・・・。

619 :デフォルトの名無しさん:2008/04/14(月) 18:28:10
G++でのコンパイルやリンク実行時に自分で作ったバッチファイルを引数として噛ませたいのですが、どのように書けばできますでしょうか??
どなたかご教示頂けると幸いです。


620 :デフォルトの名無しさん:2008/04/14(月) 18:29:40
> G++でのコンパイルやリンク実行時に自分で作ったバッチファイルを引数として噛ませたい

詳しく

621 :619:2008/04/14(月) 18:35:55
すいません、Windowsのコマンドラインから使う場合の話です。

>>620さん
レスありがとうございます。

例えば、
g++ sample.o -lC:/aa.. -lC:/bb.. -lC:/cc.. -lC:/dd..
のようにインクルードファイルを呼び出してリンクしたいとき、
-lC:/aa.. 以下を毎回打つのは面倒なので、inc.batのようなバッチファイルにまとめてしまい

G++ sample.o inc.bat

のような感じでリンクできるようにしたいのですが、
上のような書式では失敗するので、inc.batの前になにか必要なのかな??という疑問です。


622 :デフォルトの名無しさん:2008/04/14(月) 18:56:36
つMakefile

623 :619:2008/04/14(月) 19:05:56
レスありがとうございます。

すいません、makefileがどんなものかは大体分かっているのです。
今回はバッチでどうしてもやりたい事情がありまして・・


624 :デフォルトの名無しさん:2008/04/14(月) 19:11:17
環境変数使うってのは?

625 :デフォルトの名無しさん:2008/04/14(月) 19:12:55
もしくは、$1とかでファイル名渡すとか?

626 :デフォルトの名無しさん:2008/04/14(月) 19:55:21
>>623
SET CXX=B:\MinGW\bin\g++
SET CFLAGS=-IB:\hoge\include -IB:\fuga\include
SET LDFLAGS=-LB:\hoge\lib -LB:\fuga\lib -lhoge -lfuga
%CXX% %CFLAGS% %LDFLAGS% %*
みたいなのをmygcc.batに保存して
> mygcc sample.cc
でコンパイル。オプションとかは適当に追加してくれ。
バッチファイルも書けなくてC++でプログラム書けるのかが心配だが…

627 :デフォルトの名無しさん:2008/04/14(月) 22:31:52
>>619
ふつうにバッチファイルじゃいかんの?

unko.bat の中身はこう書く
g++ %* -lC:/aa.. -lC:/bb.. -lC:/cc.. -lC:/dd..

で、コンパイルはこう
C> unko sample.o

これも事情があってダメなの?

628 :619:2008/04/14(月) 22:55:52
レスありがとうございます。
なるほど、バッチの中にg++も入れたりできるんですね。

ただ、それだとやっぱりだめで、事情っていうのが、wxWidgetsっていうGUIツールキットを使っていて、それを使ったリンク時に

g++ sample.o -LC:/wx/(以下略)...

みたいにするんですが、どうもWindows版だと

g++ -LC:/wx/(以下略)... sample.o

みたいに、オプションがインプットファイルより前にくるとエラーになるみたいなんです。

makefileを使わないと言っても、eclispeのexcutableプロジェクトなので、makefileは勝手に生成される=使っています。
勝手に生成されるので自由には編集できない、ってことです。
で、そのmakefileのオプションの部分だけをバッチにしたいんです。
直接全部手書きでもよいのですが、かなり長いのでスマートじゃないなぁと思いまして・・

>>バッチファイルも書けなくてC++でプログラム書けるのかが心配だが…
初心者なので大目に見てください(^^;)

環境変数ってのはなんの環境変数でしょうか??


629 :デフォルトの名無しさん:2008/04/14(月) 23:24:07
>>628
eclipseにコンパイル、リンクオプションを設定するところがあるはずだから探せ。
-LC:/... とリンク先ディレクトリ指定のオプションだけのように見えるが、本当はリンクするライブラリもその「バッチ」とやらに書いてるだろ。
それだと.oより先にあったらダメだ。
それはwindowsだろうがなんだろうがダメ。
.oから呼ばれている関数をリストアップして、その後その関数をライブラリからワンパスで探すから。


630 :デフォルトの名無しさん:2008/04/15(火) 00:27:21
>>628
>>627 を試してみたのか?
バッチに渡した引数は %* の位置に展開されるのよ?

>なるほど、バッチの中にg++も入れたりできるんですね。
とかいう時点でバッチが何か理解してないと思われ

631 :デフォルトの名無しさん:2008/04/15(火) 00:39:07
野球で振り回すあれでしょ?

632 :デフォルトの名無しさん:2008/04/15(火) 01:13:11
>>630
バッチってバッチファイルのことじゃなくて、ライブラリのファイル名を羅列したファイルのつもりなんだろう。


633 :デフォルトの名無しさん:2008/04/15(火) 03:16:00
チラシの裏
MinGWでコモンコントロール使うなら
#define _WIN32_IE 0x0300
とか必須

634 :デフォルトの名無しさん:2008/04/15(火) 03:37:30
チラシの裏
ncurses5.6 cygncurses-8.dll 文字化け 日本語
→ use_legacy_coding(2) 追加

635 :デフォルトの名無しさん:2008/04/15(火) 10:11:30
EIPに入ってるアドレスから共有ライブラリやEXEのベースアドレスを調べたいのですが
windowsのPSAPIを使うやりかたで良いのでしょうか?
cygwinではこう書くみたいなやりかたはありますか?

636 :デフォルトの名無しさん:2008/04/15(火) 14:35:20
Win32環境にCygwinかMinGWのどちらかを入れようと迷っているのですが、
何か判断基準になるものはありますか?

637 :デフォルトの名無しさん:2008/04/15(火) 14:39:32
両方入れて、自分で比較した方がいいんじゃないの?

638 :デフォルトの名無しさん:2008/04/15(火) 19:49:07
基本MinGWでいいと思う
別の用途でCygwin使ってる人はそのままCygwinを使う

639 :デフォルトの名無しさん:2008/04/15(火) 23:13:21
CygwinはUnix環境として使うなら便利だけど、窓の開発したいだけなら開発環境に組み込まれてたりするMinGWのほうがいいんじゃね?

640 :628:2008/04/16(水) 23:44:28
レス下さった方々ありがとうございますm(_ _)m
お礼遅れてすいません。

>>lipseにコンパイル、リンクオプションを設定するところがあるはずだから探せ。
オプション設定するところあるのですが、-mwindowsというのを設定しなくてはいけなくて、それ用のフォームがなくて困ってたのですが、全部まとめてかけるところが見つかってそっちに書くことで解決しました。
>>/... とリンク先ディレクトリ指定のオプションだけのように見えるが、本当はリンクするライブラリもその「バッチ」とやらに書いてるだろ。
その通りです!
>>それだと.oより先にあったらダメだ。
それはwindowsだろうがなんだろうがダメ。
.oから呼ばれている関数をリストアップして、その後その関数をライブラリからワンパスで探すから。
そうだったんですか!知りませんでした。貴重な情報ありがとうございます。
>>627 を試してみたのか?
バッチに渡した引数は %* の位置に展開されるのよ?
これも知りませんでした汗
そうだったのですか。なるほど!
ありがとうございます。
>>バッチってバッチファイルのことじゃなくて、ライブラリのファイル名を羅列したファイルのつもりなんだろう。
そんな感じです(^^;)
>>MinGWでコモンコントロール使うなら
>>#define _WIN32_IE 0x0300
>>とか必須
>>ncurses5.6 cygncurses-8.dll 文字化け 日本語
>>→ use_legacy_coding(2) 追加
ありがとうございます!


641 :デフォルトの名無しさん:2008/04/17(木) 22:41:46
>>640
%* や、バッチファイルのその他の機能の説明を読んだ方がよさそう。
Windowsの「スタート」ボタン→「ヘルプとサポート」
→検索窓に「バッチ」と入力して検索→「バッチ パラメータを使用する」
→検索窓に「シェル」と入力して検索 →「コマンド シェルの概要」


642 :デフォルトの名無しさん:2008/04/18(金) 03:40:54
1.cygwin.batから起動したbash上で「ls --color」を実行→color表示。うっわ見づらいなコレ
2.「ls」を実行→あれ、color表示のままだぞ?
3.「ls --color=none」を実行→うむ、color表示じゃなくなった
4.「ls」を実行→あれ、やっぱcolor表示のままだぞ・・・?
5.「source ~/.bashrc」を実行後、「ls」を実行→よし、今度こそcolor表示じゃなくなった
6.「exit」を実行後、cygwin.batからbashを起動し「ls」を実行→ひいい、color表示のままだぞ!?
7.(´・ω・`)

*cygwin.bat----------
@echo off
C:
chdir C:\cygwin\bin
bash --login -i

*.bashrc(インスト時に手を加えたところだけ抜粋)------
export JLESSCHARSET=japanese-sjis
alias ls="ls -F --color=none --show-control-chars"
export LANG=ja_JP.SJIS

他のCygwinプロセスは起動してません。
.bashrcをちゃんと読んでない気がするのですが、lsのデフォルト動作を非カラー表示に
戻す方法をご教授いただければ幸いです。

643 :デフォルトの名無しさん:2008/04/18(金) 04:21:48
>>642
alias 打って実際の登録状況を見るとか。
set -x して実際に起動されたプロセスの引数を確認するとか。

644 :デフォルトの名無しさん:2008/04/18(金) 06:52:13
>>643
このalias内容から、>>642でも書いてるように.bashrcを読んでないと
思ったんですがねえ・・・どこから読んできたのやら

$ alias
alias ls='ls --show-control-chars --color -F'
alias mc='. /usr/share/mc/bin/mc-wrapper.sh'
$ set -x
(なし)

645 :デフォルトの名無しさん:2008/04/18(金) 08:40:49
.bashrcに echo hello とか入れてみれば読まれてるかどうか分かるんじゃ?

646 :デフォルトの名無しさん:2008/04/18(金) 08:55:12
質問には「.bashrcが読み込まれているかどうか分かりません」なんて書かれてないだろう

>>644
http://www.google.com/search?q=cygwin+bashrc+%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%81%BE%E3%81%AA%E3%81%84

647 :デフォルトの名無しさん:2008/04/20(日) 09:05:36
【質問】 Xfce4を利用できない
【希望】 Xfce4デスクトップ環境を利用したい
【やったこと】
http://www.compuspec.net/reference/os/cygwin/installation.shtml
上記のサイトを参考にしました。

setup.exeより、リポジトリ「ftp://sunsite.dk/projects/cygwinports/」を追加し、
Xfce4関連のパッケージ全てをインストール。.bashrcに
PATH=/opt/xfce4/bin:$PATH
export PATH
を追記し、bash上からパスが通っていることを確認。
$ startxfce4
を実行すると、xscreenserverがないとメッセージが出たので、
setup.exeよりxscreenserverを選択しインストール。

再度startxfce4を実行すると、X画面が表示されるものの下記のようなログが出て
Xfce4が起動できていない。

ちなみに利用OSはWindowsXPでユーザ名は「root」としています。

648 :デフォルトの名無しさん:2008/04/20(日) 09:08:00
startxfce4のログ

/usr/bin/startxfce4: Starting X server
(中略)
_XSERVTransmkdir: Owner of /tmp/.X11-unix should be set to root
winValidateArgs - g_iNumScreens: 1 iMaxConsecutiveScreen: 1
(II) XF86Config is not supported
(II) See http://x.cygwin.com/docs/faq/cygwin-x-faq.html for more information
winDetectSupportedEngines - Windows NT/2000/XP
winDetectSupportedEngines - DirectDraw installed
winDetectSupportedEngines - DirectDraw4 installed
winDetectSupportedEngines - Returning, supported engines 00000007
winSetEngine - Using Shadow DirectDraw NonLocking
winAdjustVideoModeShadowDDNL - Using Windows display depth of 32 bits per pixel
winFinishScreenInitFB - Masks: 00ff0000 0000ff00 000000ff
(中略)
Could not init font path element /usr/X11R6/lib/X11/fonts/CID/, removing from list!
Could not init font path element /usr/X11R6/lib/X11/fonts/100dpi/, removing from list!
winPointerWarpCursor - Discarding first warp: 836 512
winProcEstablishConnection - Hello
winProcEstablishConnection - Clipboard is not enabled, returning.
Agent pid 2492
xscreensaver: 09:01:36: locking is disabled (running as root).
xscreensaver: 09:01:36: locking only works when xscreensaver is launched
by a normal, non-privileged user (e.g., not "root".)
See the manual for details.
FreeFontPath: FPE "/usr/X11R6/lib/X11/fonts/misc/" refcount is 2, should be 1; fixing.
# ここで下記URLのような何もない画面とXのカーソル(×印)が表示されて停止
# http://img224.echo.cx/img224/5445/cygwin5bh.jpg

649 :デフォルトの名無しさん:2008/04/20(日) 09:19:24
理想
ttp://blawat2015.no-ip.com/~mieki256/diary/img/20050224_weirdx_screenshot_03.gif

650 :デフォルトの名無しさん:2008/04/20(日) 22:10:32
ttp://www.geekpage.jp/programming/c/helloworld.php

ここを見て最初からやっていったのですが、コンパイルは出来たものの
>CygwinだけではなくWindowsコマンドプロンプトで実行したい場合
のところにある「-mno-cygwin」を使おうとすると
gcc: installation problem, cannot exec `cc1': No such file or directory
と出てきてしまいます
どうしたらいいでしょうか?

651 :デフォルトの名無しさん:2008/04/20(日) 23:54:24
>650
必要なパッケージが足りてない。
-mno-cygwin が使いたい場合、gcc-core だけじゃなくて gcc-mingw-core も必要。

652 :デフォルトの名無しさん:2008/04/21(月) 13:53:13
都合でMinGWを使いたいんだけど、Cygwin導入済みのWindowsに入れたら競合が起こるかな
CygwinパッケージにもMinGWがあった気がするけど、両方とも干渉せずスタンドアロンで使いたいっす

653 :デフォルトの名無しさん:2008/04/21(月) 16:26:13
>>652
cygwinでmingwのコマンド類のある場所にパス通したりしなければ問題ない。
うちは普通に cygwin と mingw + MSYS が両方入ってる。

654 :デフォルトの名無しさん:2008/04/21(月) 22:37:48
>>651
解決しました
ありがとうございました

655 :デフォルトの名無しさん:2008/04/26(土) 15:13:24
libtoolがスタティックライブラリは作るのですがdllを作ってくれません ><

/bin/sh ..//libtool --quiet --mode=link gcc -no-undefined -L/home/myname/install//lib
  -rpath /home/myname/install/lib -version-info 25:5:0 -export-symbols-regex '^ne_[^_]'
  -o libneon.la ne_request.lo ne_session.lo ne_basic.lo  ne_string.lo ne_uri.lo ne_dates.lo
  ne_alloc.lo ne_md5.lo ne_utils.lo ne_socket.lo ne_auth.lo ne_redirect.lo ne_compress.lo ne_207.lo
  ne_xml.lo ne_props.lo ne_locks.lo ne_xmlreq.lo  ne_acl.lo ne_openssl.lo
  -lssl -lcrypto  -lz -L/home/myname/install/lib -lxml2 -lz -lm
が実行されると
*** Warning: linker path does not have real file for library -lssl....
*** using a file magic. Last file checked: /home/myname/install/lib/libssl.dll.a

*** Warning: linker path does not have real file for library -lcrypto....
*** using a file magic. Last file checked: /home/myname/install/lib/libcrypto.dll.a

*** Warning: linker path does not have real file for library -lz....
*** using a file magic. Last file checked: /lib/libz.dll.a
*** The inter-library dependencies that have been dropped here will be
*** automatically added whenever a program is linked with this library
*** or is declared to -dlopen it.

*** Since this library must not contain undefined symbols,
*** because either the platform does not support them or
*** it was explicitly requested with -no-undefined,
*** libtool will only create a static version of it.
といわれます

ssl、crypto、zはaファイルのみでlaファイルがないためリンクが失敗してると思います
configureし直して、この三つのライブラリがリンクされないようにしたらdllが出力され
Since this library must not contain undefined symbols...も出なくなったのですが
aファイルしかないライブラリをlaファイル捏造とか以外の方法(オプションとか環境変数とか)で
libtoolによるリンクを成功させるにはどのようにすればよいでしょうか?

656 :デフォルトの名無しさん:2008/04/27(日) 09:02:53
laファイル捏造が嫌なら libtool 自体を書き換えるしかないと思うが。

657 :デフォルトの名無しさん:2008/05/04(日) 16:29:31
i686-elfがターゲットなbinutilsを作ったのですがgccにこれを使うよう指示する方法が分かりません

ttp://iwatam-server.dyndns.org/hardware/h8comm/doc/CrossDevel-jp.html/ch-inst.htmlとかを見ると
オレオレbinutilsを使いたい場合gccも作らなくてはならない感じなのですがどうにかする方法はないでしょうか?

658 :デフォルトの名無しさん:2008/05/05(月) 17:40:58
>>657
gccにはそういうオプションなどなかったと思うけど、
gcc -S でアセンブリソースを出して、
オレオレas でオブジェクトを作って、
オレオレld でリンクすればいいだけ。


659 :デフォルトの名無しさん:2008/05/05(月) 18:40:18
specsのinvoke_asとlinker書き換えて -specs= で読ませりゃいいんでない?

660 :デフォルトの名無しさん:2008/05/06(火) 12:21:35
高速に質の良さそうな乱数を取得する方法を探しております。
「Mersenne Twister」というのに行き当たったのですが、もっと高速なものを探していたところ、
「/dev/rand」というものがあるというのを知りました。
下記に関し日本語サイト探しているんですが、なかなか詳しいところが見つけられません。
 1./dev/randとはハードか何かで乱数作るんでしょうか?
 2./dev/randはWindowsで使うことは出来ますか?
  また使い方は?

661 :デフォルトの名無しさん:2008/05/06(火) 12:26:41
乱数スレで質問すれば誰か詳しい人がいるかもしれないよ

662 :デフォルトの名無しさん:2008/05/06(火) 12:36:14
>>661
そうですか。
ただマルチになると申し訳ないので、2〜3日寝かしてレス付かないようなら移動しますね。

663 :デフォルトの名無しさん:2008/05/06(火) 13:36:56
>>657
-B prefix と -b target ジャマイカ?

664 :デフォルトの名無しさん:2008/05/06(火) 15:46:41
>>660
もうすっかり忘れたけどrand()は線型合同法かなんかだっけ?
メルセンヌツイスタを見つけたならひと口に乱数と言っても
目的によって適不適があるというような注意書きを
メルセンヌツイスタの作者が書いてるのに行き当たったり
しているはずだが。

665 :デフォルトの名無しさん:2008/05/06(火) 15:55:16
>>662
取り下げによる移動はマルチではない。
移動の方法としてはいくつか在るがたとえば
ここに、「〜〜(移動先URL)へ移動しました」などと書いたうえで
移動先に「〜〜(ここのURLとレス番)から誘導を頂きました」
とでも書いておけばその時点でマルチではなくなる。

666 :デフォルトの名無しさん:2008/05/06(火) 16:06:09
乱数スレの住人ってバカばっかりだからなぁ

667 :デフォルトの名無しさん:2008/05/06(火) 16:08:18
>>660
> 高速に質の良さそうな乱数を取得する方法を探しております。
目的を述べよ

>  1./dev/randとはハードか何かで乱数作るんでしょうか?

割り込み間隔とかネットワークのIO間隔等で乱数 seed を揺さぶり続けるため
品質的にはそれなりだが, 再現性のある乱数系列を取得することは不可能

>  2./dev/randはWindowsで使うことは出来ますか?

/dev/rand に相当するデバイスドライバを書けば OK

>   また使い方は?
fd = open("/dev/rand", O_RDONLY);
read(fd, random_buff, sizeof random_buff);


668 :デフォルトの名無しさん:2008/05/06(火) 16:44:44
> /dev/rand に相当するデバイスドライバを書けば OK

ほら。もう、バカばっかり・・・

669 :デフォルトの名無しさん:2008/05/06(火) 21:28:53
>>660
/dev/random
/dev/urandom
のこと? だったら、参考資料としてはこの辺とか。
ttp://www.linux.or.jp/JM/html/LDP_man-pages/man4/random.4.html
とりあえずCygwinなら使えるが、Linux等と同じ動作をしてるわけでは
ないと思われるため、品質や速度については不明。MinGWは知らん。

/dev/rand はぐぐってみると結構ヒットするけど、実在するの?

670 :デフォルトの名無しさん:2008/05/06(火) 23:01:34
作ればできるよ。ああできるよ。何だってできるよ、作れば。

671 :デフォルトの名無しさん:2008/05/06(火) 23:51:01
>>669
作ればあります。

672 :デフォルトの名無しさん:2008/05/07(水) 03:08:41
作らんでもエイリアス張るだけちゃうん

673 :デフォルトの名無しさん:2008/05/07(水) 12:09:13
WindowsにEGD移植されてないんだっけ?

674 :デフォルトの名無しさん:2008/05/07(水) 16:19:35
すいません、MinGWにUTF-8を認識させるようにしたいのですが、そこらへん設定するにはどうすればよいでしょうか??
どなたか教えて頂けると幸いです。


675 :デフォルトの名無しさん:2008/05/07(水) 16:23:27
>>674
MinGWに認識させるとは?
gccのオプション指定で入力エンコードと出力エンコードを指定するって話なら判るんだけど。

676 :674:2008/05/07(水) 16:47:30
レスありがとうございます。

>> gccのオプション指定で入力エンコードと出力エンコードを指定するって話なら判るんだけど。
分かりにくくてすいません、そんな感じのことを言いたかったのでした。
コンパイル時のオプションで設定できたんですか。
調べたら
--input-charset, --exec-charset
など、出てきました。

ありがとうございましたm(_ _)m

677 :デフォルトの名無しさん:2008/05/07(水) 19:08:07
不完全な質問にヒント程度のエスパー回答、そして解決報告
素晴らしい流れに心が洗われるようだ

678 :デフォルトの名無しさん:2008/05/07(水) 22:24:33
ttp://sourceforge.net/forum/forum.php?forum_id=820558
> Testing: gcc-4.3.0-20080502-mingw32-alpha

いきなり 4.3.0 ですかい

679 :デフォルトの名無しさん:2008/05/08(木) 00:24:46
x64対応はまだかね?

680 :デフォルトの名無しさん:2008/05/08(木) 21:00:27
おまいらソースを嫁
http://cygwin.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/fhandler_random.cc?rev=1.36&content-type=text/x-cvsweb-markup&cvsroot=src
http://msdn.microsoft.com/en-us/library/aa379942(VS.85).aspx
各種外乱使った暗号論的擬似乱数っぽい

暗号論的に優秀なのとMCやなんかで優秀なのは違ったと思うんで
用途によるはずだがそのあたりは詳しく知らない

681 :デフォルトの名無しさん:2008/05/09(金) 13:17:06
MinGWでのコンパイルってこの方法であってますよね?
コマンドプロンプトで、chdir ソースファイルが保存してあるディレクトリまでの絶対パスまたは相対パス
そしたら
ソースファイルが保存してあるディレクトリまでのパス>gcc ソースファイル.C -o ソースファイル.exe
これでコンパイルしてもエラーでるからコンパイルの方法が悪いのかなって思ったんだけどさ
ソースファイルは本通りに入力したはずだからあってるはず。
もうプログラミング挫折しそうです。

682 :デフォルトの名無しさん:2008/05/09(金) 13:31:28
エラーを貼り付けないと回答のしようがない。
コマンドライン慣れてないならVisual C++ 2008 Express Editionや
Eclipse CDT使うのも手。

683 :デフォルトの名無しさん:2008/05/09(金) 13:34:32
すいません
>>681の通りに入力して
gcc: installation problem, cannot exec `cc1plus': No such file or directory
と表示されます。


684 :デフォルトの名無しさん:2008/05/09(金) 14:14:33
目的がプログラミングの学習で、
英語が全く分からない&英語を勉強する気はない
なら VC++ 使った方がいい。

685 :デフォルトの名無しさん:2008/05/09(金) 14:14:45
そりゃめげるわな
http://zieaon.co.uk/MinGW-cc1plus.html
PATH通せ

686 :デフォルトの名無しさん:2008/05/09(金) 15:22:57
ありがとうございます。
VC++ってC言語でもつかえるんですか?


687 :デフォルトの名無しさん:2008/05/09(金) 15:29:17
使えるよ
でもスレ違い

688 :デフォルトの名無しさん:2008/05/09(金) 15:35:34
おぉ そうなんですか!!
スレ違いになりますね;;
みなさんありがとうございました。
VC++で頑張ってみます

689 :デフォルトの名無しさん:2008/05/09(金) 15:57:33
華麗にスルーされた俺カワイソス

690 :デフォルトの名無しさん:2008/05/09(金) 16:23:16
大丈夫か?初心者にVCなんか勧めて。
どうせ今度は sprintf_s、strcpys、strcat_s・・・ でつまづくだろ。
オレなら Borland C++ Compiler を薦める。

691 :デフォルトの名無しさん:2008/05/09(金) 18:13:24
gcc(ry

692 :デフォルトの名無しさん:2008/05/09(金) 18:53:08
その前に日本語

693 :デフォルトの名無しさん:2008/05/11(日) 01:38:33
mallocのインターポジショニングがしたいのですが
以下のようにやってもうまくいきません。
環境はWindowsVista+cygwinでgccは3.4.4です

---main.c---
#include <stdlib.h>
#include <stdio.h>

int main(void)
{
printf("start\n");
char* c = (char*)malloc(10);
return 0;
}

---malloc.c---
#include <stdlib.h>
#include <stdio.h>

void* malloc(size_t size)
{
printf("malloc\n");
return NULL;
}



694 :デフォルトの名無しさん:2008/05/11(日) 01:39:53
これを以下のようにコンパイルしました
gcc -c -o testmalloc.o malloc.c
gcc -o main.exe main.c testmalloc.o
そして実行すると
./main.exe

4 [main] c 1924 sig_send: wait for sig_complete event failed, signal -34,
rc 258, Win32 error 0

とエラーになります。そのあとにstartと表示されます。
どこがまずいのでしょうか?

695 :デフォルトの名無しさん:2008/05/11(日) 02:49:43
>>694
main()に入る前にmalloc()が呼ばれることもあるので、そういうハリボ
テ実装ではダメ。



696 :694:2008/05/11(日) 04:02:19
>>695さんありがとうございます。
ハリボテは駄目とのことなので、
置き換えたmallocの中で本物のmallocを呼ぼうとしたのですが、
やり方がわかりませんでした。
ためしに以下のようにしてみたのですが、駄目でした。

---malloc.c---
#include <stdlib.h>
#include <stdio.h>

static void* (*malloc_org) (size_t size);


__attribute__((constructor))

void save_malloc()

{
printf("save_malloc\n");

// 本物mallocを保存。
  malloc_org = (void*(*)(size_t)) dlsym((void*)-1L, "malloc");

}

void* malloc(size_t size)

{
printf("malloc\n");
return malloc_org(size);

}

697 :694:2008/05/11(日) 04:05:44


gcc -c -o testmalloc.o malloc.c
gcc -o main.exe main.c testmalloc.o
./main.exe

ここで、save_mallocと出るよりも前に
mallocと表示され、そこで前回と同じ症状となりました。
何かよい方法はないでしょうか?




698 :デフォルトの名無しさん:2008/05/11(日) 10:15:40
Cygwinだよね?

 ソ ー ス 嫁

そうすれば malloc などの置き換えのために何をすればいいかわかってくる。
ただ、今回は malloc の書き直しが目標なのではないだろう?
ヘッダ・ソースから内部構造体を調べて、ヒープヲークする程度で充分なんでは?

> ここで、save_mallocと出るよりも前に
> mallocと表示され、そこで前回と同じ症状となりました。

オリジナルの malloc を"セーブ"することには意味がないよ。
むしろ malloc_org が初期化されていない場面があるってことだから
DLLから都度ポインタ得ても同じこと。
そして、DLL内部で完結している malloc を、この方法で
置き換えることは困難(つーか不可能)だ。
(たとえば strdup の内部 malloc 呼び出しをこの方法で乗っ取れるか
どうか実験してみるといい)

699 :デフォルトの名無しさん:2008/05/11(日) 13:03:46
動作確認してないけど、こんなのどう?

---main.c---
#include <stdlib.h>
#include <stdio.h>

void* (*unko) (size_t size);
#define malloc unko
int main(void)
{
  printf("start\n");
  char* c = (char*)malloc(10);
  return 0;
}

---unko.c---
#include <stdlib.h>
#include <stdio.h>

void* unko(size_t size)
{
  printf("malloc\n");
  return malloc(size);
}

700 :デフォルトの名無しさん:2008/05/12(月) 20:31:43
既にCygwin環境があるWindowsで、「他者のCygwin環境でWindowsに移植されたソフトウェア」を実行しようとすると
cygwin1.dllのバージョンの差異でエラー(fatal error - system shared memory version mismatch detected)が発生します。
既にCygwin環境があるWindowsで、それぞれが独立した形(スタンドアロン)として実行する最善の方法をご教授ください。

701 :デフォルトの名無しさん:2008/05/12(月) 22:01:14
>>700
Cygnusにコンサル料払え。

702 :デフォルトの名無しさん:2008/05/12(月) 22:32:49
>>700
Cygwin のバージョンを合わせるしかないんじゃね?

703 :デフォルトの名無しさん:2008/05/12(月) 22:34:07
MinGWで移植できないか考える

704 :デフォルトの名無しさん:2008/05/12(月) 23:33:16
>>700
かたっぽのCygwin1.dll消すんじゃあかんの?

705 :デフォルトの名無しさん:2008/05/13(火) 00:09:35
>>700
その他者の移植したソフトウェアと一緒に他者のCygwin環境のcygwin1.dllを貰ってきて
そっちがロードされるようにして起動すればいいんでない?

706 :700:2008/05/13(火) 02:54:02
具体例を書いておいたほうが良かったか・・・。質問やり直し。

ttp://blogs.windowsnetworking.com/wnadmin/2006/09/22/lighttpd-web-server/
こういうスタンドアロンで使う事を目的としたcygwin環境を含むソフトウェアを
CygwinがインストールされてるWindowsにインストールすると、ソフトウェア同梱のcygwin1.dllよりも先に
パスが通ってるディレクトリにあるcygwin1.dllを読みに行こうとします。

バージョンの差異で起動できないのは表示されるエラーメッセージで明白なので、
早い話パスが通ってるディレクトリにあるcygwin1.dllを、同梱されてるcygwin1.dllで上書きすればいいんですが、
ソフトを使うたびにファイルを入れ替えやらをしていたら、バイナリ配布がやり易いWindowsの特権がryという話です。
# そもそも、入れ替えするくらいならソースを持ってきてコンパイルした方が早い。

そこで、>>705にある「そっちがロードされるようにして起動」の部分が知りたいと思いました。
オープンソースの恩恵を受けてるユーザだと、結構ぶち当たる問題かと思い、こちらで質問しました。
物理的にDLLを入れ替える方法しかない場合は、大人しくソースからコンパイルしマス。

707 :デフォルトの名無しさん:2008/05/13(火) 06:10:22
いやだから、お互いのCygwinのリビジョンを合わせればいいって話じゃないの?

708 :デフォルトの名無しさん:2008/05/13(火) 10:57:44
>>700
.local とか .manifest を用意すればOK。


709 :デフォルトの名無しさん:2008/05/13(火) 17:23:58
>>706
そのソフトってcygwinのシェルから起動するのか?
だとしたらパスの順番変えて付属のdllが先に見えるようにして起動すれば済む気がするけど…

そうじゃないとしたら普通にcygwinをインストールした場合cygwin1.dllのある
ディレクトリにパスが通ったりはしない(Windowsの環境変数の方のPATHね)からそんな
問題は起こらない気がする…

710 :デフォルトの名無しさん:2008/05/14(水) 02:26:23
挑発しているのでもなんでもなく
残念だがvirtualboxを使って複数のOSをシームレスに同居させられる今
わざわざcygwinを使う意味がまったくわからない。
古い Win環境でもcygwin使うより快適だよ

試していないならやってみるべきだと思うな。

711 :デフォルトの名無しさん:2008/05/14(水) 04:12:26
なるほど、仮想マシンに Linux 入れてクロスコンパイル用
のgccを用意してwin32用のバイナリを開発するということだな?
確かに快適だろうがその環境を作れるやつがどの程度いるのか…
# ここは一応 GCC のスレらしいよ?

712 :デフォルトの名無しさん:2008/05/14(水) 06:00:07
単にWindowsアプリケーションでPosixAPIを使いたいだけです

713 :デフォルトの名無しさん:2008/05/14(水) 07:27:36
単にシームレスにUnix系ツールを使いたいだけです。

714 :デフォルトの名無しさん:2008/05/14(水) 11:13:00
単にWin上でGCC系コンパイラーを使いたいだけです
Cygは使ってませんし

715 :デフォルトの名無しさん:2008/05/14(水) 13:36:32
>>712
つ Cygwin

>>713
つ MSYS

>>714
つ MinGW

716 :デフォルトの名無しさん:2008/05/14(水) 13:49:31
それ全部このスレの話題だよな。

717 :デフォルトの名無しさん:2008/05/14(水) 17:46:54
そもそもmsysってcygwinから派生したものだろ・・・

718 :デフォルトの名無しさん:2008/05/14(水) 17:59:09
敢えてWindows Services for UNIX

719 :デフォルトの名無しさん:2008/05/16(金) 00:43:41
>>718
それなんてWine

720 :デフォルトの名無しさん:2008/05/16(金) 21:52:12
CygwinもColinuxもSFUもWineも微妙…
もっとwinとUNIXとが渾然一体になってるような
ハイブリッドカーネルみたいなんは無いもんか……


721 :デフォルトの名無しさん:2008/05/16(金) 22:44:53
もっと微妙になってしまいそうな気もするが…

722 :デフォルトの名無しさん:2008/05/18(日) 03:51:12
cygwin1.dllはアッパーコンパチにして欲しいよ。マジで。

723 :デフォルトの名無しさん:2008/05/25(日) 02:42:18
getrlimitのソースってどこにあるのでしょうか?
glibcの中のgetrlimitは空実装でした。

724 :デフォルトの名無しさん:2008/05/25(日) 03:40:27
>>723
どの環境のgetrlimit()?


725 :デフォルトの名無しさん:2008/05/30(金) 23:02:09
今日gcc4.3をビルドして初めて使ってみたんだけど、
デフォルトで入ってるgcc3.4.4よりコンパイルが速いのね。

726 :デフォルトの名無しさん:2008/06/02(月) 22:00:21
% alias ccgl 'cc -I/usr/X11R6/include \!* -L/usr/X11R6/lib -lglut -lGLU -lGL -lXmu -lXi -lXext -lX11 -lm -lpthread'
のようにしておけば、
% ccgl program.c
だけでコンパイル出来るらしいのですが。bashで
% alias ccgl='cc -I/usr/X11R6/include \!* -L/usr/X11R6/lib -lglut -lGLU -lGL -lXmu -lXi -lXext -lX11 -lm -lpthread'
のようにしてもできません。どこが問題なのでしょうか?

727 :デフォルトの名無しさん:2008/06/02(月) 22:07:27
>>726
なんで「\!*」?「$@」じゃないの?
つーか、そんなへんなエイリアスつくってないで、Makefile書きましょう。


728 :デフォルトの名無しさん:2008/06/02(月) 22:14:25
Makefile書けば済む話ではあるんですけど…。glutやらSDLやら
目的別にエイリアス作っとけば、ちょこっとした作業が楽になるかな
と思ったんです

729 :デフォルトの名無しさん:2008/06/02(月) 23:39:08
>>726
せめてワンライナーなaliasなんかじゃなくシェルスクリプトにすれば
記述の自由度があがってもっと便利なものも書けると思うんだが
何かaliasで定義しないといけない理由とかがある?

730 :デフォルトの名無しさん:2008/06/02(月) 23:40:09
SDL知ってるなら、それに倣ってgl-configでも作っておけばいいんじゃない
$ gcc `gl-config` hoge.c
で済むようになるけど

731 :デフォルトの名無しさん:2008/06/03(火) 10:13:59
>>729
理由は特にありません。
ただ、シェルスクリプトの使い方が良く分かってないのと、ファイルを
いちいち作りたくないとかです。

>>730
おお、すごくいい感じな気がします。こっちの方がいいですね
`sdl-config --cflags --libs`みたいなことですよね。これは、
どのような仕組みになっているのでしょうか?

732 :デフォルトの名無しさん:2008/06/03(火) 10:51:25
Makefile一個書くのがそんなに嫌なのかな?

733 :デフォルトの名無しさん:2008/06/03(火) 10:54:14
>>731
sdl-configの中身を読んでみましょう。
シェルスクリプトの書き方を習得しとくと、イロイロ便利だよ。


734 :デフォルトの名無しさん:2008/06/03(火) 11:28:18
>>732
ちょこっとしたテスト用ののソースのためにわざわざMakefile書くのが嫌かもです。
リンクするライブラリが多かったりすると…
Makefile書くよりもコマンドの方が手軽かな、と私が勝手に思ってるだけです。

>>733
シェルは覚えたいですね。

735 :デフォルトの名無しさん:2008/06/03(火) 11:30:02
>>734
もしかして、ソースファイルごとにMakefileが必要だと思っていない?
適当なMakefileを用意しておけば、例えばmake fooとするだけでfoo.cかfoo.cppをコンパイルできるのだけど。

736 :デフォルトの名無しさん:2008/06/03(火) 12:02:24
>>735
make fooとした場合、
Makefile内の
foo:
コマンド
の部分が実行される。で合ってますか?
この場合、使えるソースファイルの名前はfooだけですよね?
例えば、fooってファイルの他にfoo1,foo2などのファイルを作った場合も
make foo1 ,make foo2という風にできるのでしょうか?

それとも、上のように様々なソースファイルを引数で指定するようならば、

make はマクロの定義をシェル引数からでもできる。
例: % make CC=gcc
ということなので、これを応用すればいいのでしょうか?

737 :デフォルトの名無しさん:2008/06/03(火) 12:06:52
>>736
%: %.c
    gcc -o $@ $<

ってMakefileに書いてみ

738 :デフォルトの名無しさん:2008/06/03(火) 12:36:59
>>737
おお、ありがとうございます。こんな使い方できるんですね。最初からMakefileに
ついて調べとけば良かったorz

これで解決です。

ところで、autotoolsってありますよね。あれの使いどころが良く分かりません。
大規模なソフトウェア->autotools使う。
趣味範囲のソフトウェア->自分でMakefileを作って流用する
って感じなのでしょうか?

739 :735:2008/06/03(火) 12:59:50
>>738
やっぱりそうだったのかw 道理で話が噛み合わないと思った。

740 :デフォルトの名無しさん:2008/06/03(火) 13:01:53
>>739
知識少なくてすみませんw
プログラムしたくてもMakefileを調べていたら全然進まないので、

741 :デフォルトの名無しさん:2008/06/03(火) 13:02:35
やっつけでMakefile書いてきたツケが…

742 :デフォルトの名無しさん:2008/06/03(火) 13:07:56
事実上、
autotools->クロスプラットフォーム
Makefile->環境依存
だとおもえばいいよ。

743 :デフォルトの名無しさん:2008/06/03(火) 13:13:03
なるほど。じゃあ、Makefileについてちゃんと調べようと思います。

744 :デフォルトの名無しさん:2008/06/03(火) 13:14:28
foo.Cが任意のディレクトリにあるとき、
Makefileをソースファイルと同じディレクトリに置かないと、make fooとはできないよね。
できるのならぜひ方法を知りたい。

745 :デフォルトの名無しさん:2008/06/03(火) 13:19:17
Makefileの中身はこんな感じ(一部抜粋)

# Makefile for MinGW

OBJS = main.o
OPTS =
LIBS =

CC = g++
RC = windres
CFLAGS = -O2 -Wall
.SUFFIXES: .cxx .hxx .rc .ro

#

$(OUT): $(OBJS)
$(CC) $(OPTS) -o $@ $(OBJS) $(LIBS)
strip $@
@(del *.o 2>&1) > NUL
@(del *.ro 2>&1) > NUL

.cxx.o:
$(CC) $(CFLAGS) -c $<

.rc.ro:
$(RC) -o $@ $<

clean:
@(del *.o 2>&1) > NUL
@(del *.ro 2>&1) > NUL
@(del *.exe 2>&1) > NUL


746 :デフォルトの名無しさん:2008/06/03(火) 13:24:04
>>744
-fで指定するのが嫌で、alias make="make -f ~/Makefile"とかするのが嫌なら、
カレントにMakefileのシンボリックリンクでも置いておくとか。


747 :デフォルトの名無しさん:2008/06/03(火) 13:24:26
>>744
vpathとか

748 :デフォルトの名無しさん:2008/06/03(火) 13:34:01
>>746
aliasの存在を忘れていた。すぐ上でalias見たばかりなのに……。
ふだんはわざわざカレントにシンボリックリンク(ジャンクション)を作ってました。
とはいえ、カレントのMakefileを使いたいこともあるのでvpath使ってみようと思います。
こんな便利なものがあったとは。

749 :デフォルトの名無しさん:2008/06/03(火) 13:43:49
>カレントのMakefileを使いたいこともあるので
alias mk="make -f ~/Makefile"
でOK

750 :デフォルトの名無しさん:2008/06/03(火) 14:22:26
>>744
あまり良くない方法らしいがMAKEFILES環境変数

make makes many problems
http://pc11.2ch.net/test/read.cgi/tech/1029599472/387

751 :デフォルトの名無しさん:2008/06/04(水) 01:49:57
>>744
@ほにゃらら
で下階層に移動するのはダメ?
linuxのtarballでよくある方法

752 :デフォルトの名無しさん:2008/06/04(水) 17:00:20
gcc on cygwinでコンパイルできません。
以下の通りなのですが、パスが通ってないのでしょうか。
よろしければ解決策をご教授ください。

$ cat hello.c
#include<stdio.h>
int main(){
printf("Hello,world.\n");
return 0;
}
$ gcc hello.c
hello.c:1:18: stdio.h: No such file or directory
hello.c:5:2: 警告: no newline at end of file
$ set | grep ^PATH= | sed 's/:/\n/g' | grep -v ^\/cygd
PATH='/opt/xfce4/bin
/usr/local/bin
/usr/bin
/bin
/usr/X11R6/bin
/usr/lib/lapack'

753 :デフォルトの名無しさん:2008/06/04(水) 17:18:18
>>752
-v オプションを付けてコンパイルするとインクルードファイルのサーチパスが出る
こんな感じに↓

#include <...> search starts here:
 /usr/lib/gcc/i686-pc-cygwin/3.4.4/include
 /usr/include
 /usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../include/w32api

そのどれか (たぶん/usr/include) に stdio.h が存在するか確認

754 :752:2008/06/04(水) 17:29:22
>>753
早いレスありがとうございます
-vオプションをつけて実行した結果、以下のログが得られました。

#include "..." の探索はここから始まります:
#include <...> の探索はここから始まります:
/usr/local/include
/usr/lib/gcc/i686-pc-cygwin/3.4.4/include
/usr/include
探索リストの終わり

上記のパスを確認したところ

$ ls /usr/include/
$ ls /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/
README* gcj/ mm_malloc.h* stdbool.h* xmmintrin.h*
c++/ gpc-in-c.h* mmintrin.h* stddef.h*
emmintrin.h* iso646.h* objc/ syslimits.h*
float.h* libffi/ pmmintrin.h* unwind.h*
g2c.h* limits.h* stdarg.h* varargs.h*
$ ls /usr/local/include/
SDL/

となり、どうやらサーチパス上にstdio.hが無いようです。

755 :デフォルトの名無しさん:2008/06/05(木) 22:12:28
>>735
カレントにfoo.cある時はMakefile無しでも
make foo
だけでデフォルトルールでコンパイルしてくれるぜ
俺はalias使わずに$CFLAGS,$CPPFLAGS,$LDFLAGS,$LDLIBS設定してMakefile用意せずmake派

756 :デフォルトの名無しさん:2008/06/11(水) 02:37:50
cygwinのバージョンを古いのから、新しいのにアップデートさせたら、
コンパイルがかかる時間がかなり延びてしまった。
cygwinってアップデートしたら、コンパイル時間が伸びる場合ってあるの?

757 :デフォルトの名無しさん:2008/06/11(水) 08:50:19
cygwinつーか、gccのバージョンの問題じゃない?
gccは基本的にバージョンが上がるたびにコンパイルが遅くなってる。


758 :デフォルトの名無しさん:2008/06/11(水) 14:04:08
質問ですっ

現在MinGWにてC++を開発して
JNI連携でeclipseのJAVAで実行しようと考えています。
MinGWでdllを作って中を覗くと、
クラス名が「Java_HelloWorldJNI_sayHelloWorld@8」のように
「@+数字」が付いてしまいます。

こうなるとネイティブメソッド宣言がエラーで出来なくなっちゃいますよね?

このクラス名指定でエラー ⇒ public native String sayHelloWorld@8();

これを回避するには
『dllwrap --add-stdcall-alias』
このような形で指定する事を調べてわかりましたが
これをMinGWのどこで設定するのかがイマイチわからず。。。

Project>Export Makefileで作られたMakefileにも指定する所がなさそうですし。

759 :デフォルトの名無しさん:2008/06/11(水) 14:11:10
>>758
どうやってDLLを作っているですか? dllwrapで作っているわではないの?



760 :758:2008/06/11(水) 14:14:30
MinGW Developer Studio 2.05
を使用してDLLを作っています。

761 :デフォルトの名無しさん:2008/06/11(水) 15:17:09
MinGW Developer Studioは使ったことないからアドバイスできないや。


762 :デフォルトの名無しさん:2008/06/11(水) 15:23:31
C++側の話なので該当スレで聞いてください。

763 :デフォルトの名無しさん:2008/06/11(水) 15:40:21
C++でdllを作ってるわけじゃないから
C++スレ行ってもスレチ言われそうだな。

764 :デフォルトの名無しさん:2008/06/11(水) 16:04:53
このスレでいいよ、MinGWの使い方なんだから。
自分には答えられないけど。


765 :デフォルトの名無しさん:2008/06/11(水) 17:51:49
>>758
JNIはstdcallだから、そのままだと@がついてしまうようだね
DEFファイルを使ってもいいと思うが
--kill-atとか指定したら消えないか?


766 :758:2008/06/11(水) 19:49:30
でけたー!
>765さんありがとう!
なので記述しておきます。

MinGW Developer Studioの「関数名@数字」の「@数字」の消し方

1 MInGWの「Project>Export Makefile」にてMakefile作成

2 Makefileの27行目を下記のように「--kill-at,」を付け加える。
LDFLAGS = -pipe -shared -Wl,--output-def,$(OBJ_DIR)\hogehoge.def,--out-implib,$(OBJ_DIR)\hogehoge.dll.a

LDFLAGS = -pipe -shared -Wl,--kill-at,--output-def,$(OBJ_DIR)\hogehoge.def,--out-implib,$(OBJ_DIR)\hogehoge.dll.a

3 コマンドプロンプトでコンパイルに使用したいMakefileの階層に移動する。

4 コマンドプロンプトでMinGW Developer studioデフォルトインストールなら
「C:\MinGWStudio\MinGW\bin\mingw32-make.exe」を実行する。

5 Makefileの存在する階層にdll完成

結局MinGW Developer Studioの設定のみでは出来ませんでした。。。

オマケ
dllの中身を見るにはコレがベンリー!
Microsoft Visual Studio 6.0>Microsoft Visual Studio 6.0 ツール>
Dependency Walker

767 :デフォルトの名無しさん:2008/06/13(金) 01:17:54
758、ちゃんとまとめて、えらいな。質問者の鑑だ。

768 :756:2008/06/20(金) 01:14:17
>>757
なるほど。
確かに、GCCのバージョンは3.3から3.4ぐらいに上げたわ。
cygwinのバージョンをダウンさせずに、コンパイル時間を早くさせる方法はあるのかな・・

769 :デフォルトの名無しさん:2008/06/20(金) 01:37:44
CPUとHDDを速いものに替えることだろうなあ。

770 :756:2008/06/20(金) 02:57:53
>>769
ハード的に改造しないと無理か・・・ orz

771 :デフォルトの名無しさん:2008/06/20(金) 08:57:26
今日、gcc-4.3.0をcygwinからインストールしました。
ただ、間違えてC:/Tmpいかのgccを解凍したフォルダ内にインストールしてしまいました。
それで、一度アンインストールしてから再度別のフォルダにインストールしたいのですが、
アンインストールの仕方が調べてもいまいちわかりません。
どのようにすればよいでしょうか?

772 :デフォルトの名無しさん:2008/06/20(金) 12:06:28
make uninstall やってみた?

773 :デフォルトの名無しさん:2008/06/21(土) 03:35:12
やってみましたが、
the uninstall target is not supported in this tree

と出るのみです。

774 :デフォルトの名無しさん:2008/06/21(土) 12:36:09
>>771
手動削除でおk。

# make deinstall だったりしない?

775 :デフォルトの名無しさん:2008/06/24(火) 20:44:23
MinGW+Msysな環境をWindowsXP Pro SP2に構築したのですが、Cygwinに比べて非常に
お手軽で素晴らしいんですが、この環境にwgetを入れることは出来ませんか?
GNU Wgetの公式サイトからソース落としてきて
./configure
make したらエラーが出てコンパイルできませんでした・・・・。

776 :デフォルトの名無しさん:2008/06/24(火) 21:40:01
バイナリで良ければMinGW Utilitiesにある

777 :デフォルトの名無しさん:2008/06/24(火) 21:51:24
>>776
バイナリでいいです

http://sourceforge.net/project/showfiles.php?group_id=2435
ココの
wget-1.9.1.tar.gz
ですよね?
http://downloads.sourceforge.net/mingw/wget-1.9.1.tar.gz?modtime=1119444412&big_mirror=1
↑これ・・・・
しかしこれダウンロードしてもソースなんですけど?
しかも./configure make したらエラー・・・・

778 :デフォルトの名無しさん:2008/06/24(火) 22:13:03
wget-1.9.1.tar.gz をダウンロードして /usr/src に展開。
wget-1.9.1-mingwPORT.tar.bz2 をダウンロードして適当なところに展開。
cd wget-1.9.1/mingwPORT
sh mingwPORT.sh
質問には Download? と Unarchive? にNo を答えてビルド。
本当は自動でダウンロード&展開してビルドするはずだけどなんかうまく動いてないっぽい。

779 :デフォルトの名無しさん:2008/06/24(火) 22:17:38
しかしwget くらい MSYS Supplementary Tools
( http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=67879 )
あたりに入れて欲しいな…
MSYS-1.0.11 あたりで入らないかなー?

780 :デフォルトの名無しさん:2008/06/24(火) 22:21:00
>>777
> バイナリでいいです 

http://gnuwin32.sourceforge.net/packages/wget.htm
の Complete package (Setup) が良いかと。

781 :デフォルトの名無しさん:2008/06/24(火) 22:22:16
>>778
ありがとうございます!!!!
え〜と、本来なら人に聞かずにこういうの自分で分からないといけないと思いますが
一次情報源はどこでしょうか?出来ればポインタ等示していただければ・・・・

782 :デフォルトの名無しさん:2008/06/24(火) 22:23:43
>>780
ん?これは?これはMSYSとは無関係にコマンドプロンプト上で動いたりするのでしょうか?

783 :デフォルトの名無しさん:2008/06/24(火) 22:24:29
>>781
http://www.mingw.org/MinGWiki/index.php/mingwPORT

>>782
そーです。

784 :デフォルトの名無しさん:2008/06/24(火) 22:30:26
ぶっちゃけ mingwPORT まともにメンテナンスされてない気がするけどなー

785 :デフォルトの名無しさん:2008/06/24(火) 22:34:53
皆様色々ご教示ありがとうございました。
おかげさまでwgetが使えるようになりました。今回は先に作業を始めたと言う事と
せっかくMinGWとMSYSが入っているのでコマンドプロンプト版wgetは見送りました。
しかし別の環境で使う時は手軽にすぐ使えそうで、貴重な情報を頂きました。
本当にありがとうございました〜

786 :デフォルトの名無しさん:2008/06/24(火) 23:05:54
解決したようだから別にいいんだけど、「コマンドプロンプト版」ってどういう意味?
MinGW でビルドした実行可能ファイルは MSYS が無くても動くよ。
単独で動くという意味では mingPORT の wget も GnuWin32 の wget も同じ。

787 :デフォルトの名無しさん:2008/06/24(火) 23:22:59
>>786
ありゃ、そうだったんですか・・・
では、mingPORTのwgetとGnuWin32のwgetの違いとは何でしょうか?

788 :デフォルトの名無しさん:2008/06/24(火) 23:36:10
>>787
詳しく知らないけど当たっているパッチとかビルド時のオプションとかが違う程度じゃないかな。
http://gnuwin32.sourceforge.net/summary.html によると MinGW でビルドされているようだし。

789 :デフォルトの名無しさん:2008/06/25(水) 12:03:39
mingwportの件、sourceforgeのダウンロードURL変更にスクリプトが追随してない模様。
mirrors.sfファイルの最終行を
DOWNLOADURI=${DOWNLOADURI}.dl.sourceforge.net/sourceforge/${PACKAGE}
に書き換えたらmingwPORT.shで自動ダウンロードできた。

790 :デフォルトの名無しさん:2008/07/08(火) 22:03:08
>>710
zshからvi起動してCのソースを書き書きしながらmakeすると
vc++のcl.exe呼び出してコンパイルしてくれるようなことできますか。
シームレスっていうのは、そういうのを言うんだけど。

791 :sage:2008/07/08(火) 23:53:16
mingw5.1.4で--exec-charsetオプションが使えないのですが、
どうにか使えるようにはできないのでしょうか?

792 :デフォルトの名無しさん:2008/07/09(水) 20:14:49
>>790
普通に出来るんじゃね?
これまでの流れ読んでないけど、790のことに関しては。

793 :デフォルトの名無しさん:2008/07/09(水) 20:57:16
無理

794 :デフォルトの名無しさん:2008/07/09(水) 23:42:37
>>793
何でよ?
Makefile書いといてviで:!makeでいいべ。

795 :デフォルトの名無しさん:2008/07/10(木) 00:16:02
先生ー
MSYS 1.0.10のmsys.bat叩いてもコマンドプロンプトが一瞬表示されてもう一回コマンドプロンプトが一瞬表示されてそのあとなんも起こらないんだけどこれどーすればいいの?
コマンドプロンプト手動で出してmsys.bat呼んでやるとちゃんと起動されるんだけど…

環境はVista SP1 Ultimate

796 :デフォルトの名無しさん:2008/07/10(木) 00:27:50
>>794
>>710をよく読めよ

797 :デフォルトの名無しさん:2008/07/10(木) 00:28:40
1. 麻縄を輪状にして天井から吊す
2. 陰茎をその輪の中に通してユートピア

798 :デフォルトの名無しさん:2008/07/10(木) 09:23:22
妥協案

WindowsホストなVirtualBox上のLinux仮想マシンにWine/VC++/Cygwinをインストールして
ホストの端末エミュレータから仮想マシンにログイン

Linux/Wine/VC++/CygwinホストなVirtualBox上のWindows仮想マシンの端末エミュレータから
ホストにログイン

ただしWineでVC++とCygwin使えるかは知らない。

799 :デフォルトの名無しさん:2008/07/10(木) 22:46:59
簡単にVirtualBox使えばいいじゃん的な事言っている人いるけどさ、
VirtualBoxっつか仮想PCはかなり重いぞ。その点もちっとよく考えろよと。

800 :デフォルトの名無しさん:2008/07/10(木) 22:56:31
>>799
意外に軽いぞ VirtualBox。
cygwinでGNOME動かすと使い物にならないが、VirtualBoxならかなりいい感じ。

ただ、cygwinとVirtualBoxは全然別物だよ。
Windowsの便利なツールとして使えるのがcygwin、
Windows上でただ単に別のOS動かして満足感を味わうのがVirtualBox。

801 :デフォルトの名無しさん:2008/07/13(日) 13:25:27
えー、話の腰を折るようで恐縮ですが、

やねう企画代表者やねうらお(本名・磯崎元洋)が
・ソフトウェアの不正コピーを行っていた
・労働契約上の違反をしていた
・他は不正コピーしていないことを証明しようとしてエロゲーのパッケージを発見し、
 写真に撮ってアップロードしようとした。
http://d.hatena.ne.jp/pmoky/19000106
やねう企画の裏側(競馬の詐欺ソフトの製作現場)
http://d.hatena.ne.jp/pmoky/20060510
http://d.hatena.ne.jp/pmoky/20060511
http://d.hatena.ne.jp/pmoky/20060512
有限会社やねう企画(所在地・大阪府八尾市末広町2−1−2)が計画倒産
http://www.sia.go.jp/~osaka/zenso/19.09.pdf

やねうらおプロフィール
性格:友達から「チンピラ」「ヤクザ」と呼ばれている。前世で殺人鬼だった宿業を背負っているという妄想(自覚)あり。
最終学歴:専門学校卒
主な職歴:有限会社センキ(凌辱系アダルトゲームの製作会社)を経て独立、有限会社やねう企画を設立、2006年に計画倒産
代表作:『夜這いマニア』『盗撮マニア』『お楽しみCDシリーズ』『競馬詐欺ソフト』『BM98』

やねうらお語録
>「ワシのほうが潔癖やと思うんやけどな。
>絶対に違法コピーのソフトしか使わんし。
>たとえば強盗に入ったときに、ちょっとかわいそうになって
>十万円だけ残してったら、おかしいやろ?
>自分の『強盗する』という意思に対して矛盾やろ?
>だからワシは、一個も買ったソフトを使ったことがない!!」


802 :デフォルトの名無しさん:2008/07/13(日) 13:27:31
最近、やねうらおは弓月(>>801)とか言う真性のキチガイに絡まれている

【自作自演】弓月城太郎氏に関するまとめ【神秘体験】
http://d.hatena.ne.jp/yaneurao/20080619

803 :デフォルトの名無しさん:2008/07/14(月) 12:42:37
リンクに関する質問なのですが、オブジェクトのリンク順番によって
Undefinedエラーが発生してしまいます。
例えば、"ld a.o b.o"ならOKで、"ld b.o a.o"だとエラーが発生するといった具合です。

リンク順番を適切(?)に設定しなければならないのは
CygwinかLinuxの仕様なのでしょうか?


804 :デフォルトの名無しさん:2008/07/14(月) 12:47:02
Unix系では昔からそうだったと思うが。そうでないと、ライブラリ内の同名関数とバッティングしてしまうからね。

805 :デフォルトの名無しさん:2008/07/14(月) 12:47:42
>>803
Linux だと適当に並べても面倒見てくれる。
cygwin や mingw だとリンク時に参照関係考慮して並べないとだめ、
ライブラリのリンクオプションの順番も重要。

806 :デフォルトの名無しさん:2008/07/14(月) 13:52:31
>>804-805
CygwinというかUnix系自体に触ったことがなかったので
とても迷ってしまいました。ありがとうございます。

807 :デフォルトの名無しさん:2008/07/14(月) 23:42:45
vista64にしたらmsysがうまくうごかねー・・・。なんかあちこちで
スタックエラーで落ちまくり、Permission Deniedで止まりまくりんぐ。
長い死のロードになりそうだぜ・・・ぐへへ・・・(死

808 :デフォルトの名無しさん:2008/07/16(水) 12:11:57
誰か助けてください。Cygwin上でgcc4.3.3をmakeしようとしたら、

/home/***/gcc-4.3.1/i686-pc-cygwin/libstdc++-v3/include/ext/pb_ds/hash_policy.hpp:57:87:
error:ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp: No such file or directory

というエラーが出て止まってしまいます。たしかにhash_policy.hppの57行目には
#include <ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp>があります。
しかしその場所を見てみると
\i686-pc-cygwin\libstdc++-v3\include\ext\pb_ds\detail\resize_policy\hash_load_check_resize_trigger_size_base.hpp
という名前のショートカットはありますが、そのリンク先
\libstdc++-v3\include\ext\pb_ds\detail\resize_policy\hash_load_check_resize_trigger_size_base.hpp
のファイルがありません、リンク切れになっています。

単にgcc4.3.3を解凍してconfigure & make下だけなのですが何かインストールが足りないのでしょうか?

809 :デフォルトの名無しさん:2008/07/16(水) 16:38:22
>>808
ペニス

810 :デフォルトの名無しさん:2008/07/16(水) 20:39:32
ffmpeg-checkout-2008-07-16のFFMPEGを下記のオプションでconfigureするとエラーが出てしまいます。
何が原因なのでしょうか?アドバイスをおねがいします。
http://ffmpeg.mplayerhq.hu/ffmpeg-checkout-snapshot.tar.bz2

./configure \
--disable-shared \
--enable-static \
--enable-memalign-hack \
--enable-w32threads \
--enable-postproc \
--enable-libmp3lame \
--enable-libamr_nb \
--enable-libfaad \
--enable-libfaac \
--enable-liba52 \
--enable-libx264 \
--enable-libxvid \
--enable-avfilter \
--enable-gpl \
--extra-cflags=-I/static2/include \
--extra-ldflags=-L/static2/lib \
--disable-debug

エラー
./configure: line 196: pr: command not found
./configure: line 196: pr: command not found
libamr is nonfree and --enable-nonfree is not specified.
If you think configure made a mistake, make sure you are using the latest
version from SVN. If the latest version fails, report the problem to the
ffmpeg-user@mplayerhq.hu mailing list or IRC #ffmpeg on irc.freenode.net.
Include the log file "config.err" produced by configure as this will help
solving the problem.

811 :デフォルトの名無しさん:2008/07/16(水) 20:43:53
ffmpeg-checkout-2007-07-20では上手くいくのですが
新しいものでないとavfilterが使えないのです。
ライブラリ?はぜんぶmakeに性交しているので、最後のffmpegで行き詰まっています。

812 :デフォルトの名無しさん:2008/07/16(水) 20:59:23
エラーメッセージそのままじゃないか
prコマンドはmingw32のcoreutilsあたりにはいっているはず
libamrは--enable-gplと矛盾するので使えない

813 :デフォルトの名無しさん:2008/07/16(水) 21:11:30
アドバイスありがとうございます。
解決できそうです。
l
ibamr is nonfreeとありますね。
とりあえず、--enable-libamr_nbを外しました。

それとpr.exeが見当たらないので探してきます。

814 :デフォルトの名無しさん:2008/07/17(木) 11:51:48
>>808の件、解決しました。
どうやらwindowsで解凍したときに、ファイル名が長いことが原因なのか
ファイル名の末尾が化けたようです。
cygwinのコマンドで解凍したら正常にファイルがありました。
使用した解凍ソフトはLaplus1.53でした。多分バグだと思われます。

815 :デフォルトの名無しさん:2008/07/17(木) 11:57:10
いいえ、仕様です。

816 :デフォルトの名無しさん:2008/07/17(木) 19:02:18
WinFSが実用化してたらこんなしょぼい仕様とはおさらばのハズだったのに

817 :デフォルトの名無しさん:2008/07/17(木) 19:42:52
もしかしてCygwinに付属しているg++(非GCC)って
wchar.hインクルードしても、wprintfやらwscanf使えませんか?

#g++ -v
Reading specs from /usr/lib/gcc/i686-pc-cygwin/3.4.4/specs
Configured with: /usr/build/package/orig/test.respin/gcc-3.4.4-3/configure --ver
bose --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --libdir=/usr/lib --libe
xecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --enable-langu
ages=c,ada,c++,d,f77,pascal,java,objc --enable-nls --without-included-gettext --
enable-version-specific-runtime-libs --without-x --enable-libgcj --disable-java-
awt --with-system-zlib --enable-interpreter --disable-libgcj-debug --enable-thre
ads=posix --enable-java-gc=boehm --disable-win32-registry --enable-sjlj-exceptio
ns --enable-hash-synchronization --enable-libstdcxx-debug
Thread model: posix
gcc version 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)


818 :デフォルトの名無しさん:2008/07/17(木) 23:32:05
Yes
諦めてMinGW入れなさい。

819 :デフォルトの名無しさん:2008/07/18(金) 00:07:30
同ディレクトリにある5つのフォルダのmakeを自動的に実行するにはどうしたらいいのですか?


dir1/makefile
dir2/makefile
dir3/makefile
dir4/makefile
dir5/makefile

820 :デフォルトの名無しさん:2008/07/18(金) 00:15:31
>>819
cd dir1 && make

821 :デフォルトの名無しさん:2008/07/18(金) 00:41:59
>>819
for foo in dir[1-5]; do pushd $foo; make; popd; done

822 :デフォルトの名無しさん:2008/07/18(金) 11:16:33
>>820
>>821
ありがとぅ・

823 :デフォルトの名無しさん:2008/07/18(金) 11:41:47
Cygwin + Gcc 4.3.1でOpenMPプログラミングをしようとしたら、
#include文でomp.hがないと言われてしまいました。

gccのconfigureのオプションが足りなかったのでしょうか?
誰か教えてください。

824 :デフォルトの名無しさん:2008/07/18(金) 11:54:33
omp.hがない

825 :デフォルトの名無しさん:2008/07/18(金) 16:33:31
宿題スレでみた /dev/pts と言うのをcygwinで使いたいのだけど、
何かセットアップが必要のようで、わかりません。
/devを見てみると、
stdinとかstdoutと言うのはあるけど、ptsと言うのは見当たりません。
どうすると、使えるようになりますか?

826 :質問です。:2008/07/18(金) 16:56:11
>>824
Gcc 4.3にomp.hは入っていないのですか?
4.2にしか入っていないのですか?

827 :デフォルトの名無しさん:2008/07/18(金) 18:22:26
>>826
omp.hはgccの付属物じゃないよ。OpenMPの付属物。


828 :デフォルトの名無しさん:2008/07/18(金) 22:14:32
>>823

--enable-libgomp は指定した?


829 :デフォルトの名無しさん:2008/07/19(土) 01:16:07
>>828
そんなオプションあったんすか!?
configureの説明書きには--disable-libgompしかないから
デフォルトかと思ってました・・・

あ〜、また7時間makeし直しか・・・orz


830 :デフォルトの名無しさん:2008/07/19(土) 02:10:28
>>829
いや、だからおまいの環境、OpenMPのライブラリとヘッダがインストールされてないだろ、と。

831 :デフォルトの名無しさん:2008/07/19(土) 12:30:07
>>830
gcc4.3.1の中にomp.h.inファイルがありましたので、
多分コンパイルの対象外にされているんだと思います。
何かのconfigureオプションが足りない?
続きはOpen MPスレで質問させていただきたいと思ってます。

832 :デフォルトの名無しさん:2008/07/28(月) 12:31:05
趣味を兼ねてアセンブリの勉強を行いたいと思いますが、
cygwin環境上ではgas/nasm/masmと選択肢がいくつかあります。

nasmがLinuxにおいて標準のアセンブラとなっているようですが、
gasも捨てがたいし、文法なども違うので選択に迷っております。

「とりあえずこれから始めれば無難だよ」というアセンブラを
ご教授いただきたく書き込ませていただきました。

833 :デフォルトの名無しさん:2008/07/28(月) 12:53:46
私が教授するならgasだが、教示するならnasmかな。

834 :デフォルトの名無しさん:2008/07/28(月) 20:34:27
CASL

835 :デフォルトの名無しさん:2008/07/28(月) 23:12:55
ハンドアセンブル

836 :デフォルトの名無しさん:2008/07/29(火) 11:32:16
プログラム初めて2日なんですけど
MINGWにはDLLを読み込む関数はないんですか?
どうしたらいいんですか?

837 :デフォルトの名無しさん:2008/07/29(火) 12:18:44
普通に #include <windows.h> して LoadLibrary すればいいのでは

838 :デフォルトの名無しさん:2008/07/29(火) 12:55:47
そもそも暗黙的リンクだとだめなの?

839 :デフォルトの名無しさん:2008/07/29(火) 13:48:51
dlfcn.hがないの

840 :デフォルトの名無しさん:2008/07/29(火) 15:11:55
MinGWはWin32APIしか使えないよ
POSIXが欲しけりゃcygwin

841 :デフォルトの名無しさん:2008/07/29(火) 15:42:52
よくわからないからcygwinにします

842 :デフォルトの名無しさん:2008/07/29(火) 20:16:46
使ってる教材がUnixやLinuxプログラミング関連のものならCygwinでいいが
soじゃなくDLLって言ってるところが気になる。

843 :夏厨:2008/07/29(火) 20:21:03
CYGWiNにGCC4.2入れる方法教えろ

844 :デフォルトの名無しさん:2008/07/29(火) 20:27:45
gcc4.2をダウンロードして展開して./configureしてmake install

845 :夏厨:2008/07/29(火) 20:41:24
DURON800MHZじゃ時間かかりそうじゃん
代わりにコンパイルしてよ


846 :夏厨:2008/07/29(火) 20:56:01
ひゃはああああああああああああああwwwwwwwwwwwwwwww
夏だぜwwwwwwwwwwwwwww

847 :デフォルトの名無しさん:2008/07/29(火) 22:00:44
NOMEとKDEが糞すぎてstartxする気になれません><

848 :デフォルトの名無しさん:2008/07/29(火) 22:18:33
GCC3.xx、GCC4.xxで別にコンパイルしたライブラリとかを混在させて使用したらあかんのですか?

849 :デフォルトの名無しさん:2008/07/29(火) 22:43:38
>>848
Cのライブラリなら問題ないはず。C++のは問題ありあり。


850 :デフォルトの名無しさん:2008/07/30(水) 00:17:33
>>849
ありがとうです・

851 :デフォルトの名無しさん:2008/07/30(水) 09:34:27
C++はマジつかえん言語だな。
ソースレベルじゃないと再利用できないよね、実質

852 :デフォルトの名無しさん:2008/07/30(水) 10:19:09
お前のが使えないよ

853 :デフォルトの名無しさん:2008/07/31(木) 21:46:14
msys と migw で configure や make するとPCのメモリーがどんどん減っていきます。
検索したら下記のように、自分と同じ現象がありましたが、いずれも解決していないようです。

http://www.bookshelf.jp/2ch/unix/1066042212.html
 #688〜
https://sourceforge.net/forum/message.php?msg_id=3403300
http://d.hatena.ne.jp/ranekov/20061017

何か解決策はありますか?

854 :デフォルトの名無しさん:2008/08/03(日) 02:49:21
Cygwinでconfigure; makeするときも空きメモリが減るね
Win版のmake辺りがおかしいんだろうか

855 :デフォルトの名無しさん:2008/08/03(日) 07:15:05
その、空きメモリが減るという現象はどうやって確認したのかね。
まさかとは思うが、「タスクマネージャのコミットチャージの数字が減らないから」なんて言わないよな。

856 :デフォルトの名無しさん:2008/08/03(日) 13:56:38
log4cxxについての質問があります。

log4cxx.propertiesに以下の様に記述し、
==================================================
log4j.rootLogger=DEBUG, A1
log4j.appender.A1=org.apache.log4j.ConsoleAppender
(以下略)
==================================================

log4cxx::PropertyConfigurator::configure("log4cxx.properties");
として読み込んだ場合に
==================================================
Could not instantiate class [org.apache.log4j.ConsoleAppender].
Class 'org.apache.log4j.ConsoleAppender' not found
Could not instantiate appender named "A1".
==================================================
とエラーが発生します。
何かパス等を設定する必要があるのでしょうか?

なお、Cygwin上でgcc 3.4.4 にてビルドしました。
log4cxxのバージョンは 0.9.7です。
ソース等は下記のサイトを参考にしました。
http://logging.apache.org/log4cxx/

857 :856:2008/08/03(日) 17:22:36
log4cxxのバージョンを0.10.0にしたら動作しました。
再検証のために0.9.7に戻すの面倒クサス(´・ω・`)

858 :デフォルトの名無しさん:2008/08/04(月) 09:21:58
http://www.equation.com/servlet/equation.cmd?call=fortran
このページからgcc 4.3.1をダウンロードしてインストールしたのですが、
アンインストーラーが付いてません。コンパネのプログラムの追加と削除
にも登録されてません。レジストリに何やら登録してるみたいだし、
どうやったら完全にアンインストールできるのでしょうか。ご教示下さい。

859 :デフォルトの名無しさん:2008/08/04(月) 10:35:57
しなくていいよ

860 :デフォルトの名無しさん:2008/08/04(月) 10:36:53
したいんです

861 :デフォルトの名無しさん:2008/08/04(月) 11:15:44
>>858
Windows他、その怪しげなgccをインストールするまでにインストールした全てを再インストール。

862 :デフォルトの名無しさん:2008/08/04(月) 13:19:06
あきらめます

863 :デフォルトの名無しさん:2008/08/04(月) 18:31:33
中身は単なるMINGWのようだし
fairuをsakujoして、追加されたpasuもsakujoするだけだがな・・・
何をどのように理解してrejisutoriに登録されたなどと言っているのかは興味深いところだが

864 :デフォルトの名無しさん:2008/08/05(火) 04:16:37
>>855
もしかしてバカですか?
コミットチャージの数字が減るのが正常でしょ。
Windows の使い方くらい覚えろよ。恥ずかしいヤツだな。

865 :デフォルトの名無しさん:2008/08/05(火) 06:26:57
読解力の欠如した馬鹿が一人……

866 :デフォルトの名無しさん:2008/08/05(火) 10:25:38
Vistaならそうなんだけどねぇ

867 :デフォルトの名無しさん:2008/08/05(火) 11:58:24
アプリを起動する。
コミットチャージの数字が増える。
アプリを終了する。
コミットチャージの数字が減る。
別のアプリを起動する。
コミットチャージの数字がまた増える。
そのアプリを終了する。
コミットチャージの数字がまた減る。
これの繰り返し。
もし減らなかったらリソースを食いつぶして自滅するでしょが。
UNIX屋って、そんな基本知識も無かったのか?
バカじゃないの?

868 :デフォルトの名無しさん:2008/08/05(火) 12:14:50
ん?
>855は、「空きメモリが減ると言う現象をどうやって確認したのか」>854に聞いているだけでしょ。
コミットチャージで判断できると思ってないだけなんじゃない?

869 :デフォルトの名無しさん:2008/08/05(火) 15:38:33
>>864
落ち着いて読めよ

870 :デフォルトの名無しさん:2008/08/05(火) 16:05:34
だからぁ、タスクマネージャのコミットチャージが減るという事で確認したんですが、何か?

逆にぃ、タスクマネージャのコミットチャージ以外でどうやって確認しろと?
もちろん、ネットを捜せば各種アプリケーションがゴロゴロ転がってますが、
CTRL+DEL押してタスクマネージャのコミットチャージを見るだけで簡単に確認できるものを
わざわざツールダをウンロードしたりインストールしたりって、バカじゃね?
メモリーが解放されない、ていうデリケートな問題なのに、変なアプリをインスコして
かえって問題の特定を困難にするだけじゃん。
ちなみに、Evelest と Process explorer は以前からインスコしてたんでソレでも確認したが
問題解決にはならん。メモリーが開放されないという事実を確認しただけじゃ
問題解決にはならんのだよ。

871 :デフォルトの名無しさん:2008/08/05(火) 16:06:05
UNIX屋ってスキル低いねぇ

872 :デフォルトの名無しさん:2008/08/05(火) 17:58:33
>>870
いいから落ち着け。火病りすぎだ。


873 :デフォルトの名無しさん:2008/08/06(水) 02:35:18
>その、空きメモリが減るという現象はどうやって確認したのかね。
>まさかとは思うが、「タスクマネージャのコミットチャージの数字が減らないから」なんて言わないよな。

晒しとこ

874 :デフォルトの名無しさん:2008/08/06(水) 13:28:28
夏だな

875 :デフォルトの名無しさん:2008/08/06(水) 17:23:27
昔あったVBユーザがC/C++ユーザを挑発してるコピペに似てるなw

876 :デフォルトの名無しさん:2008/08/07(木) 02:07:26
>>855
知ったかぶりして他人を煽ろうとしたところが
とんでも無い墓穴を掘っちゃったね。
おまい恥ずかしいヤツだな。もしかして中学校2年生か?
コイツのせいでスレが荒れてしまったな。

877 :デフォルトの名無しさん:2008/08/08(金) 16:52:49
ここまで俺の自演

878 :デフォルトの名無しさん:2008/08/08(金) 18:29:51
IDが無いからって火病り杉

879 :デフォルトの名無しさん:2008/08/09(土) 09:55:37
/usr/bin/make ./26104-700_ANSI_C_source_code.zip
make[1]: Entering directory `/c/cygwin/home/hoge/amrnb-7.0.0.0'
rm -f ./26104-700_ANSI_C_source_code.zip ./26104-700.doc
cd . && /usr/bin/unzip 26104-700.zip
UnZip 5.52 of 28 February 2005, by Info-ZIP. Maintained by C. Spieler. Send
bug reports using http://www.info-zip.org/zip-bug.html; see README for details.

Usage: unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir]
Default action is to extract files in list, except those in xlist, to exdir;
file[.zip] may be a wildcard. -Z => ZipInfo mode ("unzip -Z" for usage).

-p extract files to pipe, no messages -l list files (short format)
-f freshen existing files, create none -t test compressed archive data
-u update files, create if necessary -z display archive comment
-x exclude files that follow (in xlist) -d extract files into exdir
(略

Examples (see unzip.txt for more info):
unzip data1 -x joe => extract all files except joe from zipfile data1.zip
unzip -fo foo ReadMe => quietly replace existing ReadMe if archive file newer
chmod og-w ./26104-700.doc
/usr/bin/chmod: cannot access `./26104-700.doc': No such file or directory
make[1]: *** [26104-700_ANSI_C_source_code.zip] Error 1
make[1]: Leaving directory `/c/cygwin/home/hoge/amrnb-7.0.0.0'

makeするとこんな感じのエラーが出るんですが
何処を書き直したら直るんでしょうか。



880 :デフォルトの名無しさん:2008/08/09(土) 10:14:11
cd . && /usr/bin/unzip 26104-700.zip

cd . && /usr/bin/wget -N http://www.3gpp.org/ftp/Specs/archive/26_series/26.104/26104-700.zip


881 :デフォルトの名無しさん:2008/08/09(土) 10:46:36
なにやらUnzipが機能してないようなんです。
Dosで使用すると解凍してくれるんですが、MinGwでやると
>>879
の説明文みたいなのがダラダラ流れるだけなんですが、

ftp://ftp.info-zip.org/pub/infozip/WIN32/unz552xn.exe
からとってきたものを
unz552xn.exe -d /usr/bin 
でインストールしたんですが、何か間違ってたんでしょうか。


882 :デフォルトの名無しさん:2008/08/09(土) 10:49:31
>>880
駄目でした。


883 :デフォルトの名無しさん:2008/08/09(土) 11:19:37
こっちで
http://downloads.sourceforge.net/gnuwin32/unzip-5.51-1-bin.zip?modtime=1108413609&big_mirror=1

884 :デフォルトの名無しさん:2008/08/09(土) 11:26:52
コーデックみたいだが、wgetも必要みたいだな
\MinGW\binにunzipとwgetを放り込んでおけばおkじゃね

885 :デフォルトの名無しさん:2008/08/09(土) 11:36:45
Wgetは入れたらちゃんと動いてくれました。
>>883
これはBinの中身だけBinに入れればいいんでしょうか
msys/1.0の中に丸ごといれるのですか?


886 :デフォルトの名無しさん:2008/08/09(土) 11:39:27
unzip.exeをbinに入れる。

887 :デフォルトの名無しさん:2008/08/09(土) 12:06:18
前と同じですタ。
再インストールした方がいいんでしょうか。


888 :デフォルトの名無しさん:2008/08/09(土) 13:03:49
MinGW
MSYS
msysDTK


ぜんぶ入れてる?

889 :デフォルトの名無しさん:2008/08/09(土) 13:04:38
configureからやり直すとか

890 :デフォルトの名無しさん:2008/08/09(土) 13:16:41
試したら普通にコンパイルできたぞ
何かが足らないか、おかしいか

891 :デフォルトの名無しさん:2008/08/09(土) 15:10:38
>>888
djgppとbccも入れてる

892 :デフォルトの名無しさん:2008/08/09(土) 21:58:24
cygwinも入れてる

893 :デフォルトの名無しさん:2008/08/09(土) 23:30:00
ちなみにamrnb-7.0.0.0のフォルダの中に26104-700.zipはダウンロードされてる?

894 :デフォルトの名無しさん:2008/08/09(土) 23:31:33
http://arrozcru.no-ip.org/ffmpeg_wiki/tiki-index.php?page=amr_nb

895 :デフォルトの名無しさん:2008/08/09(土) 23:33:11
cygwinでやってみれば?

896 :デフォルトの名無しさん:2008/08/09(土) 23:40:49
MSYSインスコMinGWのパス
C:\MinGWではなくC:/MinGW

897 :デフォルトの名無しさん:2008/08/09(土) 23:59:52
Win32 Pathしか解釈しない版のunzipを入れるな

898 :デフォルトの名無しさん:2008/08/10(日) 01:13:07
おまいら優しいな

899 :デフォルトの名無しさん:2008/08/10(日) 06:32:56
>>883
これで問題ないな

900 :879:2008/08/10(日) 19:12:00
win入れなおしてみたらアクチ云々でdkfまおsぢjごあいsdfさ
となったので、もう一度インストールからやり直してみます。


901 :デフォルトの名無しさん:2008/08/10(日) 19:52:11
1、MinGW+MSYS

2、CYGWIN

3、makeのバージョンを変えてみる

902 :デフォルトの名無しさん:2008/08/10(日) 20:31:35
>>894
最初からこれでやってたんですが、Unzipがどうしても動作してくれないです。
インスコしなおしても結局同じでした・・・

>>897
そういうUnzipはどこにあるんでしょうか?

Cyswin入れてみます

903 :デフォルトの名無しさん:2008/08/10(日) 22:12:40
gcc環境なんだから、ほしいプログラムはソースコード入手して自分で
コンパイルするのを覚えたほうがいい。
あとあと役に立ちまくる。

904 :デフォルトの名無しさん:2008/08/10(日) 22:20:54
やってみます。

905 :デフォルトの名無しさん:2008/08/10(日) 22:22:36
>>903
CygwinやMinGWだと、固有の癖があり過ぎて勉強にならない。

CygwinでSubversion1.5.1をビルドしようとしたらなかなか通らず、
1.4.6のCygwinパッチを参考に俺パッチを作成してようやく突破したら、
その数日後に正式パッケージが出て泣いた。

906 :デフォルトの名無しさん:2008/08/10(日) 23:42:05
>>883
このunzipで普通に動くぞ?
amrnbのmakeはMinGW+MSYS、cygwinどっちでも通った。
MinGWの環境がおかしいんだと思う。


検索してたら↓にいろんなライブラリが入ったパッケージをみつけたから、>>894のunzip加えてやってみたらどう?
ttp://up-cat.net/cgi-bin/wiki/%BA%A3%B9%B9MinGW%28A%29%C7%AD%B2%CA%B8%A6%B5%E6%BD%EA%A5%D1%A5%C3%A5%AF.html

907 :デフォルトの名無しさん:2008/08/11(月) 00:33:25
MinGW-5.1.4.exe
MSYS-1.0.10.exe
msysDTK-1.0.0.exe
全部インストールしてるんですが、なんか方法間違ってるんでしょうかね・・・
CygwinもAllにして全部入れちゃいました。

Cygwinでやってみます

908 :デフォルトの名無しさん:2008/08/11(月) 00:45:58
いやだから、違うunzip.exeがPATHの優先度の高い位置にあるんだよ。
HDD内からunzip.exeを検索してみ。

909 :デフォルトの名無しさん:2008/08/11(月) 01:31:11
あああああああ、そうだったんですか。
勘違いでした、>>908の教えを受けてなんとなくIpconfig打ったら普通に
Dosコマンド使える事を知った・・

/c/msys/1.0/bin/unzip.exe /c/msys/1.0/home/hoge/test.zip ○
/c/msys/1.0/bin/unzip.exe test.zip ○
unzip.exe /c/msys/1.0/home/etoh/Foltid132.zip X
/bin/unzip.exe /c/msys/1.0/home/etoh/test.zip X

という結果でした。結局フルパスでUnzipしないと駄目という結果に。

てことはCygwinのUnzip使ってたって事でしょうか。
でもCygwinのUnzipは普通に解凍してくれてたんですが。

これどうやったら直るんでしょうか。
環境変数には特に何ものってないんですけど。でも/usr/local/binってなんでしょうか。
そんなディレクトリはないんですが。
$ echo $PATH
.:/usr/local/bin:/mingw/bin:/bin:/c/WINDOWS/system32:/c/WINDOWS:/c/WINDOWS/System32/Wbem:/c/Program Files/Microsoft SQL Server/90/Tools/binn/:/c/Program Files/TortoiseSVN/bin

UnzipのありかはCygwinとMsys以外にはなぜかC:\WINDOWS\PrefetchにUNZIP.EXE-0BF325C5.pfとUNZIP.EXE-30346CEE.pfって
ファイルがありました。先読み用らしいんですが、デリってやっても結果は変わらず。

910 :デフォルトの名無しさん:2008/08/11(月) 02:46:03
msysかcygwin上でwhich unzip
つーか、混在環境は使用者を混乱させるだけだぞ
どっちかにしろや

911 :デフォルトの名無しさん:2008/08/11(月) 08:20:34
which unzipは/binの中だけでした。
Cygwinは削除して、Cの中を検索しても今はMsysの中にしかないんですが、
相変わらずフルパス指定ではちゃんと動くんですが、unzipや/bin/unzipでは
説明文がズラっと出るだけで動いてくれません・・・・。

UnzipをソースからMakeしてインストールしてみたんですが、まったく同じ結果に。
インストールの仕方が悪かったんでしょうか。

912 :デフォルトの名無しさん:2008/08/11(月) 09:19:52
/usrはルートディレクトリ。

unzipはC:/msys/1.0/binではなく、C:/MinGW/binに入れろって。
それでmakeすれば通る。

何やっても駄目なら、MinGW、MSYSも削除して>>906のパックでやりな。
試したらできたから。

913 :デフォルトの名無しさん:2008/08/11(月) 19:06:52
>>912
結果は同じだったんですが、
>>906
のと自分のを見比べてみてmsys/1.0/mingwというフォルダの中身が入ってる事に気づきました。
しかもわんさか。
んで、この中のbinフォルダを作成してにUnzip入れたら動きました・・・
なんかとんでもないポカをやってたようですが、なんでここのBinならちゃんと動くのか未だわかりません・・・

914 :デフォルトの名無しさん:2008/08/11(月) 19:57:01
msysの下にmingwは入れないなw
パックにしているからそうしたんだろうけどw


915 :デフォルトの名無しさん:2008/09/01(月) 14:30:24
makefileに関する質問なのですが、依存関係などのファイル名に
C:/hoge.cといったWindows形式を指定すると
*** target pattern contains no `%'.
といったエラーが発生してしまいます。
/cygdrive/C/hoge.cとするとエラーは回避できるのですが、
C:/hoge.cのままでmakeできるようにする方法はないのでしょうか。

916 :915:2008/09/01(月) 14:37:20
ググってたら3.81ではサポートしなくなった的なことが書いてあったので
3.80に戻してやってみます。

917 :デフォルトの名無しさん:2008/09/01(月) 19:06:11
素直にVC使いなさいよ

918 :デフォルトの名無しさん:2008/09/01(月) 21:12:18
>>915
mingwのmakeつかえば?

919 :デフォルトの名無しさん:2008/09/01(月) 21:46:57
>>915
cygpathはだめ?

920 :デフォルトの名無しさん:2008/09/01(月) 22:05:52
こういうことね。一応念のため。
a.exe : $(shell cygpath C:/hoge.c)
  gcc $<

921 :デフォルトの名無しさん:2008/09/02(火) 04:46:10
qucsでデジタル回路のシミュレーションをしようと
cygwin でfreehdlをコンパイルしていれました
そしてqucsでシミュレーションを実行しようとするとそのコンパイル時にg++から
ld: cannot find -lieeeと怒られてしまいます
libieeeとかってどっかにあるんですか?
libcに含まれてるみたいなんですが、libcはcygwinではコンパイルできないようでした

922 :デフォルトの名無しさん:2008/09/02(火) 22:33:18
>>921
面白いツールの紹介ありがとう。
俺は普通に
./configure
make
make install
でうまくいった。
与えられる情報としては
 libieee.aは俺のPCに存在しない
だけかな。

923 :デフォルトの名無しさん:2008/09/04(木) 20:49:29
超ど初心者の質問です。
MinGWをインストールして、pathの設定もして、ソースファイルも作って、
コマンドプロンプトに>gcc<ソースファイル名.cpp>
って入れると、
構文が間違っていますって言われてしまいます。
入門書見ながらやってるんですが、
入門書にはgccコマンドを用いて〜とか書いてあります。
gccコマンド=コマンドプロンプトにgccと入力した状態と考えていいんでしょうか?

924 :デフォルトの名無しさん:2008/09/04(木) 21:25:48
わかりせん。
コマンドプロンプトの内容をそのままはってくれ。

925 :デフォルトの名無しさん:2008/09/04(木) 21:31:34
もちろん
>gcc<ソースファイル名.cpp>
を文字通りに入力した訳じゃないんだろ?

926 :デフォルトの名無しさん:2008/09/04(木) 21:47:00
>>924
>>925
え?え?
も、文字通り入力しましたけど・・・・
違うんですか?
恥さらしの悪寒・・・。

927 :デフォルトの名無しさん:2008/09/04(木) 21:48:31
>>926
ソースのファイル名がtest.cppだったら
gcc test.cpp
って入力してEnterだよ。



928 :デフォルトの名無しさん:2008/09/04(木) 21:57:57
http://uproda11.2ch-library.com/src/11115711_UWYa/k11115711.jpg

ソースファイルがまさにtest.cppだったので
そのまま入力したのですが・・。

929 :デフォルトの名無しさん:2008/09/04(木) 22:13:20
ひとつ上のレスも読めんのかお前は。

930 :デフォルトの名無しさん:2008/09/04(木) 22:16:36
<>はいらなかったんですね。
ありがとうございました。
大変失礼致しましたl。

931 :デフォルトの名無しさん:2008/09/04(木) 22:44:29
いいえ、「<>」が問題なのではなく「<>」が問題なのです。

932 :デフォルトの名無しさん:2008/09/04(木) 23:51:14
まぁその入門書が不親切でもあるな
例として
> gcc ファイル名.cpp
と書いてあれば間違えようがないのに

933 :デフォルトの名無しさん:2008/09/05(金) 02:13:17
無謀だ。無謀すぎる。
gcc 以前の問題だな。
まず先に、Windows の使いかたを勉強しろや。

934 :デフォルトの名無しさん:2008/09/05(金) 02:31:11
まぁ、CygwinやMinGWを入門に使おうと思う時点で無謀極まりない。

935 :デフォルトの名無しさん:2008/09/05(金) 11:19:07
>>934
ところが「ただで作れる開発環境」とかいって喧伝されていたりするからねぇ・・・

936 :デフォルトの名無しさん:2008/09/05(金) 12:08:10
VC++ Expでも使わせればいいのに

>>932
> ←これも入れそうだぞ

937 :デフォルトの名無しさん:2008/09/05(金) 15:25:29
勇気ある行為だと思うが、選択として悪いとは思わないな。
どうせなら、(PC-)UNIXであるところのLinux/Mac OS Xを使えばいいのにとは思うけど、スレ違いか。

938 :デフォルトの名無しさん:2008/09/05(金) 15:32:31
makeファイルやデバッグが面倒なんで
Mingw+IDE使ってるオレ

939 :デフォルトの名無しさん:2008/09/05(金) 17:56:35
IDEなにつかってるの?

940 :デフォルトの名無しさん:2008/09/06(土) 05:37:45
他スレに書いちゃったんだけど、
MinGW developer ってやつ
VC6.0の模倣品で環境一括インストールしてくれる

941 :デフォルトの名無しさん:2008/09/06(土) 08:04:42
>>928

こういった解説書やマニュアル類、あるいはヘルプなどで
コマンドの書式を書いてある場合、 < > や [ ] は特殊な意味を
持ってることが多い。

ある程度お約束みたいになってるんで、覚えておく方がいい。

[ ] だと中に書かれている | で区切られた項目から選択して入力。
< > で囲まれた項目は、必要なければ省略可能等


942 :デフォルトの名無しさん:2008/09/07(日) 00:12:55
釣りだろ?

943 :デフォルトの名無しさん:2008/09/09(火) 05:15:32
medow と cygwin と gcc で使っているのですが、
設定をいじっているうちにときどきいつの間にか、エラーメッセージが日本語になっていたり
またいつの間にか英語に戻っていたり変わっているかしてしまいます
気づいた時点でいくつか設定いじってみたりしたのですが、メッセージに変化はなく
いったいgccのエラーメッセージの言語って何を基準に決定しているのですか?
ちなみにgccのバージョンは3.44です

944 :デフォルトの名無しさん:2008/09/09(火) 05:47:15
自己解決しました

945 :デフォルトの名無しさん:2008/09/09(火) 13:39:12
どう解決したのか是非詳しく。

946 :デフォルトの名無しさん:2008/09/09(火) 13:50:17
cygwinでgccのエラーメッセージを日本語化するのは無理だと思ってた
無知な俺は期待age

947 :943:2008/09/09(火) 16:04:59
勝手に人の番号を名乗らないでください

948 :943:2008/09/09(火) 16:23:08
ごめんなさい

949 :デフォルトの名無しさん:2008/09/09(火) 20:59:14
nls有効化してgccビルドするだけじゃないの?

950 :デフォルトの名無しさん:2008/09/10(水) 21:17:12
MinGW使ってるんですが、どのバージョンが一番安定してますか??
5.1.3をずっと使ってたんですがどうもバギーな気がしてきまして・・

951 :950:2008/09/10(水) 21:22:17
というか

http://sourceforge.net/project/showfiles.php?group_id=2435
ここを見ると5.1.4が最新のような感じなんですが、

http://yoko-gb.blogspot.com/2008/08/mingwgcc.html
とか
http://ja.wikipedia.org/wiki/MinGW

では最新版が4〜になってますね。
なぜ??情報が古いだけでしょうか?

952 :デフォルトの名無しさん:2008/09/10(水) 22:21:33
>>946
これってGCCにも効かなかったっけ?
http://www.sixnine.net/cygwin/cygwin-doc/japo.html

953 :デフォルトの名無しさん:2008/09/11(木) 04:34:00
>>951
gccのバージョンとMinGWプロジェクトのバージョンを散り違えるな

954 :デフォルトの名無しさん:2008/09/11(木) 06:50:53
gccは3.4.5の新しいやつで
他に必要なのは開発版以外の最新でいいんじゃない

955 :950:2008/09/11(木) 11:02:21
ありがとうございます。

>gccのバージョンとMinGWプロジェクトのバージョンを散り違えるな
すいません。どこをどう勘違いしてるのかわかりません汗
よかったら教えてください。

>gccは3.4.5の新しいやつで
これはどういう意味でしょう?gccではなくてmingwの話なのですが・・

結局一番安定してるのはどのバージョンでしょうか?
やはり5.xx系は人柱なんですかね?

アドバイス頂けると幸いです。

956 :デフォルトの名無しさん:2008/09/11(木) 11:39:22
自ら>>951に掲示しているとこ普通に見ればわかるだろ

年月だけでなく、ご丁寧に日にちまで書いてるんだぞ

957 :デフォルトの名無しさん:2008/09/11(木) 12:10:20
>>955
gcc -> IE
MinGW -> Windows

958 :950:2008/09/11(木) 16:12:30
どもです。

>>自ら>>951に掲示しているとこ普通に見ればわかるだろ
http://ja.wikipedia.org/wiki/MinGW
ここの最新版は3.4.5ってのは情報が古いって理解でOKでしょうか??
ただ最新のを使いたいのではなくて安定しているのを使いたいんです。
一番安定しているのは3.4.5なんですかね??


>> gcc -> IE
>> MinGW -> Windows
MinGW- > Windwowsってのは分かるんですがgcc -> IE ってのはどういうことですか??

959 :950:2008/09/11(木) 16:18:54
すいません、あと
http://sourceforge.net/project/showfiles.php?group_id=2435
ここで

Automated MinGW Installer MinGW5.1.4

GCC Version 3 gcc-3.4.5-20060117-3
がありますが(他にもいろいろありますが)これってどう違うのでしょうか??
どちらもMinGWではないのですか??
インストーラがついてるかついてないかってだけの違いではないですよね?

自分は多分、上のAutomated MinGW Installerのversionが5.1.3 の時のを使ってたと思うのですが・・


960 :950:2008/09/11(木) 16:44:35
あーなんか「MinGW = Windows用に移植されたgccコンパイラ」
だと思ってました。

Windowsの中でgccコンパイラを使うための環境がMinGWなんですね。
しかしmsysでgcc --version と打ったら 3.4.5 と出てきました。
今の状態で安定版(と思われるもの)を既に使ってるみたいです。。なんかよくわからないバグみたいなものがあるのですが・・

MinGWをアップデートしてもその中のgccコンパイラはversion3.4.5から変わらないと思うのですが、
MinGWのアップデートだけでコンパイル時の不具合が直ったりする可能性はあるものでしょうか??


961 :デフォルトの名無しさん:2008/09/11(木) 17:31:28
コンパイル時の不具合ってソースコードが変ってことじゃないの?

962 :950:2008/09/11(木) 17:39:58
普通に考えればそうなんですがどっからどう見ても間違ってる部分がないもので・・
コンパイルエラーは出ずにコンパイルは成功するんですが、バイナリ走らせるとフリーズするような類のバグです。

ソースコードがおかしいわけではない・・と思うのですが・・(多分)

963 :デフォルトの名無しさん:2008/09/11(木) 17:43:16
実行時のエラーをコンパイラのせいにするのはよくないよ。

964 :950:2008/09/11(木) 18:18:01
うーむ・・やはりソースコードのせいなのか・・
3.4.5は安定版なのでしょうし。

965 :デフォルトの名無しさん:2008/09/11(木) 19:08:01
自分のデバッグ能力を疑った方がいいのでは?

966 :デフォルトの名無しさん:2008/09/11(木) 19:58:16
>>962
shift JISでソース書いてると、変なことがよく起こるよ。
たとえば、「表」の2バイト目が"\"なので//コメントの行末にあると次の行もコメントになる、
*/の直前にあると、コメントがそこで終わらず、次のコメントの最後までまるまるコメントになる、
文字列リテラルの最後にあると"がエスケープれて文字列が続いてることになる、などなど


967 :デフォルトの名無しさん:2008/09/11(木) 20:10:41
-finput-charset=cp932

968 :デフォルトの名無しさん:2008/09/11(木) 20:16:37
コンパイラのバグといいながら対象のソースを出さない奴は100%自身のミス

969 :デフォルトの名無しさん:2008/09/11(木) 22:20:47
コンパイラ含めた環境の不具合を疑うのなら、
いきなり本命のコードをコンパイルしようとせずに、
至極簡単なテスト用のコードを作ってコンパイルすればいいのに。

970 :デフォルトの名無しさん:2008/09/11(木) 22:30:58
100%は言い過ぎだろ、99.99%くらいだ
デバッガで追ってみればいいじゃん

971 :デフォルトの名無しさん:2008/09/11(木) 22:31:18
安定板とか言ってる時点で...

972 :デフォルトの名無しさん:2008/09/11(木) 22:40:39
mingwGCC4.31をダウンロードできるところないですか?

973 :デフォルトの名無しさん:2008/09/11(木) 23:04:40
?ttp://www.equation.com/servlet/equation.cmd?call=fortran

974 :デフォルトの名無しさん:2008/09/11(木) 23:45:37
>>973
ありがとう!

975 :デフォルトの名無しさん:2008/09/12(金) 00:27:10
本家?ttp://sourceforge.net/project/showfiles.php?group_id=2435

976 :950:2008/09/12(金) 00:37:46
>>965
うぜーから消えろ。

>>968
>> コンパイラのバグといいながら対象のソースを出さない奴は100%自身のミス
でかいソースの中の一部なのでそれだけここに出しても意味ないと思いますが。

問題の部分単発でコンパイルすればうまく動きます。文字コードはUTF-8なんです。
デバッガはなんかeclipse連携できなかったので放置してたんですが、もう一回チャレンジしてみます・・。


977 :デフォルトの名無しさん:2008/09/12(金) 00:52:05
十中八九、どっかでメモリ壊してるな。
問題が発現するところ自体にバグがないのはよくあることだし。

978 :950:2008/09/12(金) 01:04:04
ありがとうございます。
>> 十中八九、どっかでメモリ壊してるな。
多分そんな感じなんだろうなと自分も思うんですが、メモリが壊れるってのは例えばどういう時起こるんでしょうか??

979 :デフォルトの名無しさん:2008/09/12(金) 01:15:08
確保したメモリ領域の外に書き込んだとき。

980 :デフォルトの名無しさん:2008/09/12(金) 02:11:20
>>950みたいな低能がコーディングしたとき。

981 :デフォルトの名無しさん:2008/09/12(金) 03:07:55
デバッグもせずにコンパイラを疑うとか(笑

982 :950:2008/09/12(金) 03:27:41
>>980-981
うぜーしつこい。

983 :デフォルトの名無しさん:2008/09/12(金) 03:40:19
大抵はポインタと配列で範囲外のアクセス(主に書き込み)で起こるかなぁ。
配列は片っ端からstl::vectorに置き換えるとその手のバグは顕在化しやすくなる。
後文字列操作で終了コードが抜けたりとか。これもstl::stringで回避できるか。
あとなんだろね。

984 :デフォルトの名無しさん:2008/09/12(金) 05:23:17
なんで、そのレベルで>>950はコンパイラのバグを疑ってんだ?
実験的な最新版とか、コードが大幅に入れ替わったメジャーVerUPの後とかじゃないと
めったにお目にかかれない物なのに。

access violationはオメーのバグだぜ。

985 :943:2008/09/12(金) 05:34:32
>>945
まぁ、わざわざ書くほどでもないアホなミスでした
すっごいいまさらなんだけど、一応どう解決したかを
後から単体のインストーラで入れた(かなり古いバージョンの)Mingwのpathの設定が優先されてだけでした、
cygwinのコンソールだと/usr/binのパスが最優先になるんですがMeadowから使ってたので
windowsの環境変数を使ってまして。なので、pathの順番変えて解決しました
時々起こってのは本当なんですが過去起こった原因は結局わかりません

エラーの日本語化はCygwinのsetup.exeで普通にインストールしただけなのでよく知りません
環境変数LANGを設定しただけです

986 :デフォルトの名無しさん:2008/09/12(金) 08:38:16
低脳がひとりいると、このスレ盛り上がるな。
無理しないで自分のレベルにあったVBでも使ってればいいのに。

987 :デフォルトの名無しさん:2008/09/12(金) 12:12:10
>>986
自覚してるのかw

988 :デフォルトの名無しさん:2008/09/12(金) 14:41:14
低脳の自覚がない人には向かないんじゃないの、gcc?

989 :デフォルトの名無しさん:2008/09/12(金) 15:11:17
余程悔しかったようだな

990 :デフォルトの名無しさん:2008/09/12(金) 15:38:57
煽り合うのはその辺にしておきなさい。
みっともないからw

991 :デフォルトの名無しさん:2008/09/12(金) 16:02:28
ひとりの屑低脳って950しかいないじゃん
自覚しろよ、すこしは。

992 :デフォルトの名無しさん:2008/09/12(金) 16:05:23
なに火病ってんだ。顔まっかにして。

993 :950:2008/09/12(金) 16:31:33
やっと直りました。やっぱりアクセスしてはいけない領域にアクセスしていたのが問題だったみたいです。

友達いなそうな可哀想なのがもうちょい少なければいいんですけどね。
でも色々勉強になりました。親切に教えてくださった方々ありがとうございましたm(_ _)m

994 :デフォルトの名無しさん:2008/09/12(金) 16:38:12
お前が自分の無知を棚に上げて訳の分からんフレームを垂れ流したのがそもそもの元凶だろうが

995 :950:2008/09/12(金) 16:42:11
棚になんてあげてませんよ。
言われている通り、俺は無知で低脳なんでそれをさらしてご教授願っただけです。
なぜそんなのお怒りなのですか?

996 :デフォルトの名無しさん:2008/09/12(金) 17:23:25
>>995は流石に偽っぽいが>>993は正直どっちかわからんw

どっちにしろ>>993,995共に屑だが

997 :デフォルトの名無しさん:2008/09/12(金) 17:30:29
分かったから少し落ち着けよ

998 :950:2008/09/12(金) 17:33:51
どっちも本物ですよぉ

999 :デフォルトの名無しさん:2008/09/12(金) 17:36:14
彼らが落ち着くまで次スレは立てないでください

1000 :デフォルトの名無しさん:2008/09/12(金) 17:37:19
ume

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

274 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)