[過去ログ] cygwin + mingwn + gcc 相談室 (984レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
1: 03/07/14 07:18 AAS
VC や C++ Builder には専用スレがあるのに
俺たちにないのは変だろ?
885(3): 2005/07/19(火)22:13 AAS
>>882
>>883
レスありがとうございました。おかげで解決しました!
すいませんが、もうひとつ質問致します。
インストールしてCドライブにできたcygwinをCDに焼いて、オフライン環境のパソコンに移しました。
そこでcygwinを起動したのですが、コマンドプロンプト画面に
bash.exe: warning: could not find /tmp, please create!
と表示され、普通に操作できません。
tmpフォルダがないので出来ないと思い、bash.exeがあるフォルダに作ったのですが無理でした。
どうすればいいのですか?
886(1): 2005/07/19(火)22:15 AAS
>>885
cygwinはマウント情報をレジストリに持っている
887(1): 2005/07/19(火)22:17 AAS
>>885
>bash.exeがあるフォルダに作った
which bash の結果と /tmp をじっくり比較しなさい
888(1): 2005/07/19(火)22:34 AAS
レジストリを読まずに.iniを読むようにするパッチをどっかの人が
作ってたと思うからそっちを調べるとか
889: 2005/07/19(火)22:35 AAS
cygwin上にターゲットがi386-pc-elfのクロスgccをインストールしましたが、
実際にそのgccでお決まりのhelloworldをコンパイルしようとしたのですが、ldに怒られます。
バージョンは、
gcc: 3.4.4
binutils: 2.16
newlib: 1.13.0
エラーメッセージは
/usr/lib/gcc/i386-pc-elf/3.4.4/../../../../i386-pc-elf/bin/ld: crt0.o: No such
file: No such file or directory
collect2: ld returned 1 exit status
890: 2005/07/19(火)22:48 AAS
>>886
>>887
>>888
みなさんレスありがとうございます。
現在、携帯しかオンライン環境がないので、再来週あたりにじっくりやりたいと思います。
本当にありがとうございました。
891(1): 2005/07/20(水)00:38 AAS
2chスレ:unix より。
Windowsを再インストールした後でcygwinを動かす方法
環境変数CYGDIRを登録
set CYGDIR=D:\cygwin
レジストリを変更
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions]
[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin]
[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2]
"cygdrive prefix"="/cygdrive"
"cygdrive flags"=dword:00000022
[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/]
"native"="%CYGDIR%"
"flags"=dword:0000000a
[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/usr/bin]
"native"="%CYGDIR%/bin"
"flags"=dword:0000000a
[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/usr/lib]
"native"="%CYGDIR%/lib"
"flags"=dword:0000000a
[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\Program Options]
892(3): 2005/07/21(木)17:42 AAS
cygwinでCのファイルをコンパイルしようとしたら
bash: gcc: command not found
ってエラーが出るんだけど何でか分かります?
教えて下さい。
893: 2005/07/21(木)18:31 AAS
>>892
gccをインストールしていないのでは?
Cygwinのsetup.exeでgccにチェックはしてある?
894: 2005/07/21(木)20:32 AAS
>>892
"command" と "not" と "found" を英和辞書で引いてみれば原因が分かるのではなかろうか
895: 2005/07/21(木)20:47 AAS
>>892
cygwinインストールのデフォルトは"Devel"がOffになっているので、
"Devel"をマウスでいぢくってinstallにする必要がある。
896(1): 2005/07/22(金)20:53 AAS
漢なら黙ってフルインストール
897: 2005/07/22(金)20:56 AAS
>>896
cygwin以下を除外すればいいけど、ウイルススキャンが時間かかる。
898: 2005/07/24(日)19:36 AAS
>>891
この文はコマンドプロンプトに打ち込むんですよね?
認識されません、などと出てうまくいかないのですが…
899: 2005/07/24(日)19:43 AAS
ポカーン( д) ゚ ゚
900: 2005/07/24(日)19:51 AAS
∩___∩ |
| ノ,,_ _,ヽ .|
/ "゚'` {"゚` | J
| ∪ ,__''_ ミ
彡、 ー |
/ ∩ノ ⊃ ヽ
( \ / _ノ | |
.\ “ /__| |
\ /___ /
901(1): 2005/07/24(日)20:21 AAS
釣りじゃないです…助けてください…
902(1): 2005/07/24(日)20:48 AAS
>>901
まず目的を書け。
903(1): 2005/07/24(日)21:07 AAS
>>902
>>885を参照ください。オフライン環境で起動させるためです。
904(1): 2005/07/24(日)21:22 AAS
>>903
コマンドプロンプトからregeditと打ち込んでみるべし。
905: 904 2005/07/24(日)21:26 AAS
あー、変なもん弄るなよ。
マシンが起動できなくなっても俺知らんからねw
906(1): 2005/07/24(日)22:40 AAS
>>904
レジストリエディタは開けました。ありがとうございます。
そこからcygwinフォルダを開いたんですが、どこに文章を打ち込めばいいのですか?
テキストをレジストリに変えてインポートするのも無理でした。新規で試しましたが出来ませんでした。
907: 2005/07/24(日)22:59 AAS
>>906
cygwin使う前にwindowsの使い方覚えたほうがいいと思う。
908(2): 2005/07/24(日)22:59 AAS
ダウンロードしたファイル一式持って行ってsetup.exeでローカルインストールした方が早くないか?
909: 2005/07/24(日)23:04 AAS
Cygwinを使うのがまだ早い
910: 2005/07/24(日)23:27 AAS
特殊な理由がなく、たんにシグインをネット隔離マシンにインスコしたいだけなら
>>908の方法をオススメする。
シロートがレジストリエディタいじるのは危険じゃて。
(まあ失敗->後悔するのも勉強だとおもうけど)
911(1): 2005/07/24(日)23:30 AAS
それではいつまでもシロートのまま。
レジストリなどガンガンいじれ。
そして涙を流せ。
涙の数だけ強くなれるよ。
912(2): 2005/07/25(月)00:36 AAS
そんな筋の悪いやり方で似非玄人になられても使えない。
913: 2005/07/25(月)01:38 AAS
復旧手段を知っているのなら、いくら破壊しても構わないと思う、が
レジストリの操作が出来ないのなら問題外だね
914: 2005/07/25(月)02:12 AAS
>>908の方法がいちばんいいよ
915: 2005/07/25(月)19:45 AAS
レジストリを初めて触って、間違ってOSが立ち上がらなくなる経験を経て
はじめて一つ賢くなれる。
916: 2005/07/25(月)23:34 AAS
よっぽどバカなんだな。
917(1): 2005/07/26(火)17:29 AAS
Cygwin自体レジストリもわからないような素人が使える代物じゃないと思うけど…
>>911
同意だな…俺も昔うっかりexeの関連付け、いじっちゃって復旧不能→OS再インストールしたことあるよ…orz
ある程度慣れてくればどこをどういじると危険なのかわかるようになってくるよね
>>912
マニュアルに書いていないトラブルが起きると何も出来ない知識人乙w
918: 2005/07/26(火)17:45 AAS
>>912に>>917のようなレスを返すようだと、論理学の基礎を学び直した方がいいぞ。
919: 2005/07/26(火)17:46 AAS
俺の歴史、最初に触れたのはPCDOS6.2だった
helpて打って流れる文字みてるだけだった。楽しかった
飽きてきたのでhelpで流れる文字を打ち込んでみた
全部がなんやら英語だらけで同じメッセージだしてきた。つまんなかった
でも一つだけなにやら立体的なもん出しやがった。楽しかった。
カーソル動かしまくっていろいろ押した。全部押した。
翌日何も動かなくなってた。奴の名前はfdisk
スキルのついた今ならはっきりとわかるfdisk以外が吐いてたメッセージは
引数よこせよばか!!だったんだ
険しい道を選べ、レジストリぐらい屁でもねー
920: 2005/07/26(火)17:51 AAS
ROM BASICとモニタしかなかった頃ならともかく、
その時代にそんなやりかたって非効率すぎ。
単にものの学び方を知らないだけでしょ。
921: 2005/07/26(火)17:58 AAS
サルですな
922: 2005/07/26(火)18:00 AAS
try & errorなんて時代遅れ
923(1): 2005/07/26(火)18:51 AAS
最先端のやり方教えれ。
924: 2005/07/26(火)20:11 AAS
>>923
喪前様が最先端。
925: 2005/07/26(火)20:11 AAS
Google先生に聞く
926: 2005/07/26(火)20:38 AAS
stringsとstraceしてみる自分は…
927(1): 2005/07/29(金)01:28 AAS
いくつか質問があります。
1つ目は、ここの
http://coconut.sys.eng.shizuoka.ac.jp/bmp/#lib
bmp.h、bmp.c、test0.cをcygwin+gccでコンパイルしてみたら、
きちんとbmpが作成されたんですが、
bmp.h で MAXWIDTHとMAXHEIGHTが1000になっていて、
color data[MAXHEIGHT][MAXWIDTH]
となっているのでスタック領域が2MBを超えているはずなのになぜかうまく動きます。
あと、これをg++でコンパイルしようとしたところ
multiple definition of〜とかになり通らなかったのですがなぜなのでしょうか?
またその後、bmp.hのグローバル変数をbmp.cだけのほうに記述することでそのエラーはなくなり、
g++でもコンパイルできたのですが、その場合実行するとスタックオーバーフロー〜のような
エラーが出ます。
MAXWIDTHとMAXHEIGHTをそれぞれ590あたりにすると2MB以下になるので実行もできたのですが、
なぜ最初の状態でgccでコンパイル、実行したときは1000、1000で出来たものが
上記のように修正した結果スタックオーバーフローが出るのでしょうか?
どなたかご存知の方いますでしょうか?
928: 2005/07/29(金)03:33 AAS
>>927
まずbmp.hのcolor data[なんちゃら][うんちゃら]は定義。
そしてtest0.cのimgは静的変数なんでスタックには配置されない。
だからスタックオーバーフローにもならない。
あとの修正なんちゃらは、シラネ。まあがんがれや。
929: 2005/07/29(金)03:38 AAS
普通にコンパイル通るな。
g++でコンパイルするとmain()に型がないから怒られるけど。
930: 2005/07/29(金)03:40 AAS
つか、これC/C++の話だな。
931: 927 2005/07/29(金)11:29 AAS
>> test0.cのimgは静的変数なんでスタックには配置されない。
とのことなのですが、なぜか
5 [main] img 1980 handle_exceptions: Exception: STATUS_STACK_OVERFLOW
634 [main] img 1980 open_stackdumpfile: Dumping stack trace to img.exe.stack dump
のようなエラーが出てしまいます。
スレ違いとのご指摘がありましたのでc言語のほうへ行ってきます。
932: 2005/07/29(金)11:57 AAS
http://coconut.sys.eng.shizuoka.ac.jp/bmp/#lib
ここにある、bmp.h、bmp.c、test0.c(test1.c)をcygwin+gccでコンパイル+実行すると、きちんとbmpが
作成されたんですが、これを自分なりに修正していくうちにスタックオーバーフローが出るようになりました。
以下はその修正したのを省略したものです。
img.c
------------
#include "bmp.h"
int main(int argc, char** argv) {
img tmp;
return 0;
}
-------------
bmp.h
-------------
#define MAXWIDTH 1000
#define MAXHEIGHT 1000
typedef struct {
unsigned char r;
unsigned char g;
unsigned char b;
} color;
typedef struct {
color data[MAXHEIGHT][MAXWIDTH];
} img;
--------------
933: 932 2005/07/29(金)11:58 AAS
すいません、2chブラウザを使っていて同じタブのままレスしてしまいました。
934: 2005/07/29(金)12:51 AAS
スタックのサイズなんて実行環境によって違うんだから当たり前だろ
935: 2005/07/29(金)13:22 AAS
実行環境以前に Cを理解してないのが問題なので、
もうここでは止める、がよろし。
936(2): 2005/07/29(金)23:57 AAS
UNIT GenieList;
INTERFACE
USES
SANE, DialogUtils, GFiles, GCommonDec;
PROCEDURE MAIN (lMessage: INTEGER;
lSelect: BOOLEAN;
lRect: Rect;
lCell: Cell;
lDataOffset, lDataLen: INTEGER;
lHandle: ListHandle);
IMPLEMENTATION
PROCEDURE MAIN (lMessage: INTEGER;
lSelect: BOOLEAN;
lRect: Rect;
lCell: Cell;
lDataOffset, lDataLen: INTE
これ何言語かわかりますか?
ファイルの拡張子は.pです。
937: 2005/07/30(土)00:08 AAS
>>936
PASCALじゃないか?
938: 2005/07/30(土)01:53 AAS
ひょっとしたらCかもしれんけどな
http://www.pro.or.jp/~fuji/computerbooks/c/c.modula2.html
pseudo_pas.h がどこかに隠れてないか探してみろ
939: 2005/07/30(土)02:52 AAS
>>936
つまらん。氏ね。
940: 2005/07/31(日)12:59 AAS
cygwinの最新版をフルインストールしたらsysvinit.shを実行するところでフリーズ。
そのまま一晩放置したところ、空き容量30GByteのハードディスクが満杯に。
復帰するのに3日かかったよ・・・
941(1): 2005/08/01(月)15:54 AAS
cygwin, gcc ver 3.4.4にてプロファイラが使いたいと思っています。
/*proftest.c*/
#include
int main(void)
{
char ss[80] = "abcdefgh";
char str[80] = "ABCDEFGH";
int i;
for(i=0;i<10000;i++){
strcmp(ss, str);
strncmp(ss, str, 8);
}
return 0;
}
こんなサンプルコードなんですがどうやったらプロファイルができるのか分かりません。
↓のようなコマンドでやってみたりもしましたが
$ gcc proftest.c -p -o proftest
下記のような変なエラーが出てしまいます。
どうすればいいんでしょうか
/*変なエラー*/
/cygdrive/c/DOCUME~1/giko/LOCALS~1/Temp/ccmOHUj1.o:proftest.c:(.text+0x9): u
ndefined reference to `_mcount'
/cygdrive/c/DOCUME~1/giko/LOCALS~1/Temp/ccmOHUj1.o:proftest.c:(.text+0x20):
undefined reference to `_mcount'
/cygdrive/c/DOCUME~1/giko/LOCALS~1/Temp/ccmOHUj1.o:proftest.c:(.text+0x35):
undefined reference to `_mcount'
〜〜以下略〜〜
942: 2005/08/01(月)20:08 AAS
MinGWのcfgmgr32.hってちゃんと動く?
http://support.microsoft.com/default.aspx?scid=kb;ja;JP259697
をやりたいのだが機能しないような…?
943(1): 2005/08/01(月)20:56 AAS
>>941
-pじゃなくて-pgを試してみたら。
944(2): 2005/08/01(月)21:09 AAS
$ gcc proftest.c -pg -o proftest
>>943さん
このコマンドでコンパイルできました、ありがとうございます。
ですが、
$./prof, $profとしても
bash: ./prof: No such file or directory
と言われてしまい目的が果たせません。
プロファイラを実行するのに必要なコマンドってありますか?
945: 2005/08/01(月)21:37 AAS
>>944
gprof
その質問を見るに、なんだか基礎知識が激しく不足してそうね。
946(1): 2005/08/01(月)22:43 AAS
>>944
$ gcc -pg -o proftest proftest.c
$ ./proftest
$ gprof ./proftest > proftest.gprof
でどう?
947: 2005/08/02(火)11:05 AAS
できた、できた、できました〜〜
>>946さんありがとうございます。
精進してきます。
948(1): 1 2005/08/02(火)12:56 AAS
>>950
次スレよろ
それとタイトル直してくだちい
cygwin + mingw + gcc相談室ね
949: 2005/08/02(火)13:43 AAS
MinGWだとWinows、mingwだとクロス環境をイメージしてしまう。
cygwin上だからクロスだろ、と言われるとそうかなと思ったり思わなかったり。
950(1): 2005/08/05(金)04:16 AAS
>>948
当方plala。合点承知した!
951: 2005/08/05(金)16:52 AAS
コンソールを表示するDLLって生成できますか?
952: 2005/08/05(金)21:44 AAS
もっと噛み砕いて、
それどう解釈する?DLLだとなぜできないと?
953: 951 2005/08/06(土)02:09 AAS
あ、思いっきり説明不足だな…すまん…orz
DLLのデバッグにSTDOUT(printf等)を使いたい
プラグインなので親アプリ側で作るのは不可能
で、DLL側でコンソールを表示させられないかと…
954: 2005/08/06(土)02:13 AAS
リストコントロールでもええんちゃうの?Cygwinじゃ多少めんどくさいけど。
955: 2005/08/06(土)02:31 AAS
ファイルにでも出力するとか
956: 2005/08/06(土)03:16 AAS
ファイルにappendで出力して tail -f が一番簡単
957(3): 951 2005/08/06(土)03:32 AAS
使っているライブラリの出力先がSTDOUT及びSTDERRなのでこれらのメッセージを取れないと
意味ないんです(インタプリタの組み込みをやっているので…)
STDOUTをリストコントロールとかファイルに出力する方法ってあるんですか?
958: 2005/08/06(土)03:42 AAS
>>957
パイプを使うのが王道だけど
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/jpipc/html/Toppage_Pipe.asp
959: 2005/08/06(土)06:04 AAS
AllocConsole()とかじゃ駄目なの?
960: 2005/08/06(土)06:56 AAS
stdoutなりstderrなりをファイルにすればいいだけでは?
961: 2005/08/06(土)09:16 AAS
>>957
リダイレクト
962: 2005/08/07(日)10:25 AAS
>>957
freopen ()
963: 2005/08/10(水)02:42 AAS
gcc-4.1-20050806がビルドできないorz
次のsnapshot待つしかないんですかね…?
../../gcc/libgcc2.c:772: error: unrecognizable insn:
(insn 30 29 31 2 ../../gcc/libgcc2.c:769 (set (subreg:SI (reg:DI 202) 0)
(if_then_else:SI (eq:SI (reg:SI 203)
(const_int 0 [0x0]))
(subreg:SI (reg:DI 202) 0)
(subreg:SI (reg:DI 202) 4))) -1 (nil)
(expr_list:REG_NO_CONFLICT (reg/v:DI 200 [ x ])
(expr_list:REG_NO_CONFLICT (reg/v:SI 198 [ i ])
(nil))))
../../gcc/libgcc2.c:772: internal compiler error: in extract_insn, at recog.c:20
84
964: 2005/08/20(土)14:09 AAS
MSDNヘルプにCのライブラリを使う場合は
CreateThreadじゃなくて_beginthreadexを使えって書いてあるんですが、
これって"msvcrtを使う場合は"っていう意味でしょうか?
だとしたらcygwinではCreateThreadを使っても問題無しで
mingwでは_beginthreadexを使わなければメモリリーク発生の可能性があり
BCCとか他のVCランタイム使わないコンパイラでは
もちろんCreateThreadで問題無いということでしょうか?
965: 2005/08/20(土)14:27 AAS
CreateThreadはスレッドだけ作ってランタイムの初期化が行われないって
だけだから、結局ランタイムを使いたいときは環境ごとにやり方を調べる
しかない。
Cygwinはpthreadを使わないときつかったような。
966: 2005/08/21(日)18:54 AAS
日本語のMSDNだとCランタイム使用すると必ずリークするみたいに書いてあるけど、
↓にはもう少し詳しい説明があるね
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/createthread.asp
A thread in an executable that calls the C run-time library (CRT)
should use the _beginthread and _endthread functions for thread
management rather than CreateThread and ExitThread; this requires
the use of the multi-threaded version of the CRT. It is safe to call
CreateThread and ExitThread from a thread in a DLL that links to the
static CRT as long as the thread does not call the
DisableThreadLibraryCalls function.
967: 2005/08/22(月)00:34 AAS
ちょっと、ここの人とは環境違うみたいだが・・・適当な場所が思いつかんので・・・誘導プリーズ。
ホストVine Linux、ターゲットi386-mingw32でgccをコンパイルしたら
sys/wait.hがないと怒られるんだが・・・
へるぷみー
968: 2005/08/22(月)07:29 AAS
GCC自体の話ならこっちかな?
2chスレ:tech
素人目にはconfigureでバグorミスってる気がする。
mingwでwait(2)なんて使えるわけないし。
969: 2005/09/01(木)12:04 AAS
保守
970(1): [age] 2005/09/06(火)02:46 AAS
VCから乗り換えで、cygwinでgccを使い始めたばかりなのですが、
gcc -o test test.c
で生成されたtest.exeはクリックするとcygwin.dllがありませんと出てしまいます。
いわゆるリリース版は、どのように生成すればよいのでしょうか?
御指南をお願いします。
971: 2005/09/06(火)03:27 AAS
>>970
それでリリース版だよ。
VCでコンパイルしたらkernel32.dllやuser32.dllに依存するでしょ。それと似たようなもの。
cygwinで普通にコンパイルするとcygwin.dllに依存した形になるので、
cygwin.dllがパスの通る位置においてある必要がある。
972: 2005/09/06(火)03:42 AAS
-mno-cygwin
973: 2005/09/06(火)05:59 AAS
cygwin1.dll
974(1): 970 [age] 2005/09/06(火)21:22 AAS
できました。ありがとうございます。m(_ _)m
975: 2005/09/06(火)22:38 AAS
>>974
Cygwin固有のUNIXシステムコールを使う気が無いのなら、MinGWがおすすめ。
976: 2005/09/06(火)23:49 AAS
すなわちそれが mingw
977: 2005/09/07(水)12:54 AAS
すなわちそれが mingwn
次スレもこのままのスレタイで行こうじゃないか
>>980
次スレよろ
978: 2005/09/07(水)13:23 AAS
チキンレース!!!
979: 2005/09/07(水)15:41 AAS
↓よろしく
980(4): 2005/09/07(水)23:14 AAS
おっ立ててきます。
981(2): 2005/09/07(水)23:30 AAS
次スレ
cygwin + mingwn + gcc 相談室 Part2
2chスレ:tech
982(1): 977 [sage 冗談だったのに本当にそのままだ] 2005/09/07(水)23:33 AAS
>>980 乙
983: 2005/09/07(水)23:37 AAS
乙>>980-981
984: 2005/09/08(木)00:43 AAS
>>982
こら!
>>980-981
おつ
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.188s*