1 名前:デフォルトの名無しさん [2007/04/30(月) 23:52:47 ] Windows上で動作するフリーの開発環境 CygwinとMinGWに関する相談スレッドです。 過去スレ: cygwin + mingwn + gcc 相談室 Part2 pc11.2ch.net/test/read.cgi/tech/1126103347/ cygwin + mingwn + gcc 相談室 pc8.2ch.net/test/read.cgi/tech/1058134693/ 関連サイト: Cygwin www.cygwin.com/ MinGW www.mingw.org/ 関連スレッド: GCCについて part7 pc11.2ch.net/test/read.cgi/tech/1145357824/ 【激遅】AppleGCC【絶望】 pc11.2ch.net/test/read.cgi/tech/1173267844/
560 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 14:29:41 ] つーか、doubleの精度以上の処を云々すると禿げるよ。 どうせ微小誤差が付き纏うんだから適当な桁で丸めて表示するとかしないと。
561 名前:544 mailto:sage [2008/02/25(月) 15:57:08 ] >>560 おっしゃる通りです。 今回の件が気になってしまったのは、シミュレーションコードのデバッグ中だったためです。 実行環境やコンパイラが違ったら気にしないところですが、同じ環境で同じオブジェクトコードに 同じ入力データを与えているにも関わらず計算結果が違うことにとまどってしまいました。 原因はdoubleの範囲を越えた部分の誤差でしたが、この問題を調べるきっかけになった シミュレーション結果の違いはもっと有意な差だったので看過できませんでした。 育毛にはげみます。
562 名前:554 mailto:sage [2008/02/25(月) 21:54:36 ] >>561 > シミュレーション結果の違いはもっと有意な差だったので 俺は予言する もまいは禿げる。 肝心のアルゴリズム、あるいはテストベクタが草ってんじゃない?
563 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 22:13:26 ] >>561 IEEEに準拠するように80bitではなく強制64bitにするオプションがあったはずだが
564 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 13:18:47 ] >>563 >556-559
565 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 14:03:31 ] そんなあなたを禿増してあげましょう
566 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 02:29:06 ] >>541 発見しますた ttp://sohda.net/cygwin/dist/mirror/www.geocities.jp/meir/cygwin_ck/
567 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 09:16:50 ] OS再インスコしてdevcpp+SDLで以前のソースコンパイルしたらWinMain@16なエラーが('A`) int main(ryから始めてるし-mwindowsも付けてるのに cygwinでもインスコすれば変わるかなあ
568 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 10:14:40 ] -lSDLmain付け忘れ&-l順番ミスでしたサーセン SDL外したらコンパイル通って、sdl-config見てやっと思い出した
569 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 18:09:00 ] stripしろよ ライブラリのdebug infoもな
571 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 18:30:48 ] なるほど、どうもー。
572 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 07:07:47 ] g++ 普通にビルドできるのか? それならなんで Cygwin のパッケージは 3.4 のままいっこうに動かないんだろう。
573 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 13:33:08 ] そのうち、stripしてもまだサイズがでかいがどうしてだ? といった ググれば5秒で分かるFAQを聞きに戻ってきそうだ
574 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 14:25:42 ] 嫌味だけは一丁前でな
575 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 17:16:47 ] >>572 できたよー そういや俺も昔クロスコンパイラ作ろうとしたけどビルド出来なかった覚えがあるな そんときは原因分からず仕舞いやったけど cygwinのパッケージはlinuxでビルドされてるらしいから3.4で動かない原因は別なんじゃない?
576 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 06:18:22 ] すみません。追記です。 EnableMenuItem(GetSystemMenu(hWnd, FALSE), SC_CLOSE, MF_GRAYED); は正常に機能し、システムメニューの「閉じる」とタイトルバーの×ボタンがグレーアウトするようです。 となると「移動」とか「サイズ変更」がグレーアウト/無効化できないのは Windows API 自体の仕様なんですかね? もしそうだったらスルーしてください。Cygwin + MinGW 環境固有の問題かと早合点してしまったので。
578 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 13:20:29 ] >>578 スレ違いの質問にお答えいただいて恐縮です。 仰る通り WM_INITMENU を受け取ったときに設定することで「移動」「サイズ変更」もグレーアウトさせることができました。 ただし、WM_INITMENU メッセージでは wParam に対象メニューハンドルが格納されるらしいのですが、 システムメニューに関してはこれは当てはまらないようです。なので、 if(wParam == (WPARAM)GetSystemMenu(hWnd, FALSE)){ ... } などとすると if 文の中身は決して実行されないようです。 よって、システムメニューを設定するだけなら wParam は無視すべき、ということみたいです。
580 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 13:46:42 ] WM_INITMENUPOPUPなら見分けがつくんでない?
581 名前:デフォルトの名無しさん mailto:sage [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 が送られてくるとの情報があったので、 (参考: www.hey-to.net/ML-archive/vcppML/1999/msg03694.html ) 0x313 を捕捉し、そのハンドラで EnableMenuItem() などの設定を行い、 さらに DefWindowProc() にメッセージを処理させればよい…みたいです。 >>576 の環境でしかテストしていないのであまり自信がないですが、これだと一応タスクバー初回右クリック時も正しく 項目が無効化されたシステムメニューが表示されます。 とはいえ、非公開メッセージに依存するのも微妙な感じなので、いっそ WM_CREATE のハンドラで無効にしたい項目を DeleteMenu() してしまうのが一番簡単かもしれないですね。 長文失礼しました。Windows って難しいです。
582 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 17:14:48 ] MinGWインストーラはDownload Onlyを選べば、落とすだけを選択できるぞ あとは上書きで桶
587 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 17:18:07 ] >>586 おおありがとう! じゃあ遠かったHelloWorldも近づきますノシッ
588 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 13:50:57 ] ちょっとお聞きしたいのですが、mingwでは-Iオプションは使えないのでしょうか? g++ --help でリストに出てこないのです。 しかしg++ -I とすると argument to `-I' missing のような感じで、unrecognize option `-j' みたいな感じではでてこないので、使えるような気もするのですが・・
589 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 14:32:18 ] >>588 g++ -v --help で出てきませんかな。 正直 gccのオプションはかなり多いので g++ --version でバージョンを確認してから ぐぐるなり GCC online document www.gnu.org/software/gcc/onlinedocs/ から探すなりしてマニュアルを読んだほうがよいかと思います。
590 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 14:42:10 ] >>588 使える
591 名前:588 mailto:sage [2008/04/11(金) 15:00:25 ] >>588 さん >>580 さん レスありがとうございます。 使えるのですか。 -I使う場合は、Windows用に -IC:\Program Files\... みたいな感じで書けばよいのでしょうか? 上記の感じでやってみたのですが、うまくいかなく・・
592 名前:588 mailto:sage [2008/04/11(金) 15:01:37 ] >>588 さん→>>589 さん >>580 さん→>>590 さん
593 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 15:06:08 ] >>591 スペースが入ってるみたいだけど...
594 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 15:21:52 ] >>591 パスにスペースを含む場合は "" で囲むと聞いたことがあるけど -I"C:\Program Files\..." ではだめかな
595 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 15:48:56 ] 分割されなきゃいいのだから、空白をエスケープするだけでもいいかも。 それはさて、ディレクトリ区切りのバックスラッシュってエスケープする必要あるんでない?
596 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 16:17:38 ] スラッシュにした方がいいな -l"C:/Program files/..." ていうか相対パス指定できるように環境を整えた方が のちのち便利だと思う
597 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 17:43:01 ] レス下さった方々、ありがとうございます。 -l"C:/Program files/..." こんな感じでとりあえず目的のコンパイルはできるようになりました。多謝です。 相対パス指定のための環境構築について、検索してみたのですが、それっぽいのが出てきませんでした。 スレ違いで申し訳ないのですが、よろしければどなたか解説してるサイト教えて頂けると幸いです。
598 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 18:01:43 ] msysかcygwinをいれちゃう。 あなたならおそらくmsysのほうがおすすめ。 ふと思ったがmingw単体で使ってる人ってけっこういるんだろうか。
599 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 20:46:30 ] あっちの関連スレにここがあったから貼り返し。 Cygwin使っている人いますか? その18 pc11.2ch.net/test/read.cgi/unix/1184677144/
600 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 16:54:08 ] >605 -mno-cygwin つければ cygwin1.dll 使わなくなるんだから、MinGW + msys ⊂ Cygwin とか混ぜっ返してみる。
607 名前:デフォルトの名無しさん [2008/04/12(土) 17:58:19 ] >>606 なるほろ。どうもです。
608 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 18:39:40 ] 全く混ぜっ返せてない気がするのは気の所為だろうか。
609 名前:デフォルトの名無しさん [2008/04/12(土) 23:38:33 ] >>605 nmake 使った事無いの?
610 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 02:43:01 ] なぜそこでnmakeがでてくるんだ?
611 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 03:50:56 ] >>609 聖徳太子って知ってる?
612 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 04:06:39 ] 知ってる。 人に非ずな美人な子供で同性愛者な上にマザコンな皇子でしょ?
613 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 05:10:58 ] 知ってる。 突然びっくりするぐらいブチ切れる人でしょ
614 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 15:09:40 ] 知ってる。 100万人が同時にしゃべっても聞き分けられた人でしょ
615 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 16:14:52 ] それってさ 聖徳太子が聞き分けられてる と気づいた人のほうが数段上だよね
616 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 16:58:47 ] みんなして同じことしかいってなかったんだよね
617 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:35:39 ] windresのソースのこの辺り↓を見るしかなさげ? sourceware.org/cgi-bin/cvsweb.cgi/src/binutils/winduni.c?rev=1.10&cvsroot=src sourceware.org/cgi-bin/cvsweb.cgi/src/binutils/winduni.h?rev=1.7&cvsroot=src なんだかコードページしか指定できないように見える・・・。
619 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 18:28:10 ] G++でのコンパイルやリンク実行時に自分で作ったバッチファイルを引数として噛ませたいのですが、どのように書けばできますでしょうか?? どなたかご教示頂けると幸いです。
620 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 18:29:40 ] > G++でのコンパイルやリンク実行時に自分で作ったバッチファイルを引数として噛ませたい 詳しく
621 名前:619 mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 18:56:36 ] つMakefile
623 名前:619 mailto:sage [2008/04/14(月) 19:05:56 ] レスありがとうございます。 すいません、makefileがどんなものかは大体分かっているのです。 今回はバッチでどうしてもやりたい事情がありまして・・
624 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 19:11:17 ] 環境変数使うってのは?
625 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 19:12:55 ] もしくは、$1とかでファイル名渡すとか?
626 名前:デフォルトの名無しさん mailto:sage [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 mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 23:24:07 ] >>628 eclipseにコンパイル、リンクオプションを設定するところがあるはずだから探せ。 -LC:/... とリンク先ディレクトリ指定のオプションだけのように見えるが、本当はリンクするライブラリもその「バッチ」とやらに書いてるだろ。 それだと.oより先にあったらダメだ。 それはwindowsだろうがなんだろうがダメ。 .oから呼ばれている関数をリストアップして、その後その関数をライブラリからワンパスで探すから。
630 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 00:27:21 ] >>628 >>627 を試してみたのか? バッチに渡した引数は %* の位置に展開されるのよ? >なるほど、バッチの中にg++も入れたりできるんですね。 とかいう時点でバッチが何か理解してないと思われ
631 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 00:39:07 ] 野球で振り回すあれでしょ?
632 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 01:13:11 ] >>630 バッチってバッチファイルのことじゃなくて、ライブラリのファイル名を羅列したファイルのつもりなんだろう。
633 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 03:16:00 ] チラシの裏 MinGWでコモンコントロール使うなら #define _WIN32_IE 0x0300 とか必須
634 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 14:35:20 ] Win32環境にCygwinかMinGWのどちらかを入れようと迷っているのですが、 何か判断基準になるものはありますか?
637 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 14:39:32 ] 両方入れて、自分で比較した方がいいんじゃないの?
638 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 19:49:07 ] 基本MinGWでいいと思う 別の用途でCygwin使ってる人はそのままCygwinを使う
639 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 23:13:21 ] CygwinはUnix環境として使うなら便利だけど、窓の開発したいだけなら開発環境に組み込まれてたりするMinGWのほうがいいんじゃね?
640 名前:628 mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 22:41:46 ] >>640 %* や、バッチファイルのその他の機能の説明を読んだ方がよさそう。 Windowsの「スタート」ボタン→「ヘルプとサポート」 →検索窓に「バッチ」と入力して検索→「バッチ パラメータを使用する」 →検索窓に「シェル」と入力して検索 →「コマンド シェルの概要」
642 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 04:21:48 ] >>642 alias 打って実際の登録状況を見るとか。 set -x して実際に起動されたプロセスの引数を確認するとか。
644 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 08:40:49 ] .bashrcに echo hello とか入れてみれば読まれてるかどうか分かるんじゃ?
646 名前:デフォルトの名無しさん [2008/04/18(金) 08:55:12 ] 質問には「.bashrcが読み込まれているかどうか分かりません」なんて書かれてないだろう >>644 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 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 09:05:36 ] 【質問】 Xfce4を利用できない 【希望】 Xfce4デスクトップ環境を利用したい 【やったこと】 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 名前:デフォルトの名無しさん mailto:sage [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 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のカーソル(×印)が表示されて停止 # img224.echo.cx/img224/5445/cygwin5bh.jpg
649 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 23:54:24 ] >650 必要なパッケージが足りてない。 -mno-cygwin が使いたい場合、gcc-core だけじゃなくて gcc-mingw-core も必要。
652 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 13:53:13 ] 都合でMinGWを使いたいんだけど、Cygwin導入済みのWindowsに入れたら競合が起こるかな CygwinパッケージにもMinGWがあった気がするけど、両方とも干渉せずスタンドアロンで使いたいっす
653 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 16:26:13 ] >>652 cygwinでmingwのコマンド類のある場所にパス通したりしなければ問題ない。 うちは普通に cygwin と mingw + MSYS が両方入ってる。
654 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 17:40:58 ] >>657 gccにはそういうオプションなどなかったと思うけど、 gcc -S でアセンブリソースを出して、 オレオレas でオブジェクトを作って、 オレオレld でリンクすればいいだけ。
659 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 18:40:18 ] specsのinvoke_asとlinker書き換えて -specs= で読ませりゃいいんでない?
660 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 12:21:35 ] 高速に質の良さそうな乱数を取得する方法を探しております。 「Mersenne Twister」というのに行き当たったのですが、もっと高速なものを探していたところ、 「/dev/rand」というものがあるというのを知りました。 下記に関し日本語サイト探しているんですが、なかなか詳しいところが見つけられません。 1./dev/randとはハードか何かで乱数作るんでしょうか? 2./dev/randはWindowsで使うことは出来ますか? また使い方は?