1 名前:デフォルトの名無しさん mailto:sage [03/05/06 11:04] クロスプラットフォームGUIライブラリのwxWindowsについて語りましょう。 本家 www.wxwindows.org/ dW : Linux : wxWindowsの概要 www-6.ibm.com/jp/developerworks/linux/010413/j_l-wxwin.html SunWorld Online:wxWindows――無名だが成熟したGUIツールキット www.idg.co.jp/sw/back/200102/20010219_01_report.html メルマガ www.mag2.com/m/0000108320.htm 1はこれからインストールします
560 名前:デフォルトの名無しさん mailto:sage [03/11/03 00:24] 思兼 ◆l3iwkTImVoにも見捨てられた哀れなライブラリ
561 名前:の mailto:sage [03/11/03 03:43] >560 まあ、のんびりいくよ。マターリとな。 使う分にはいいんだが、訳すのは大変。ヒマが作れん。 Wikiみたいのだったらなぁ
562 名前:デフォルトの名無しさん mailto:sage [03/11/03 17:07] wxFoundationとBorlandの採用がらみでMLは喧喧諤諤でし。
563 名前:デフォルトの名無しさん mailto:sage [03/11/05 07:29] >>562 wxWindowsがBorlandに採用されるん?
564 名前:思兼 ◆l3iwkTImVo mailto:sage [03/11/05 17:06] >>563 www.zdnet.co.jp/enterprise/0311/05/epn10.html 今はWindows版用のプレビュー版プラグインとして提供されて いる・・・んだと思う. 将来的にC++BuilderやKylixと統合される時には,完全にクロス プラットフォームな標準プラグインとなると思いたい.
565 名前:思兼 ◆l3iwkTImVo mailto:sage [03/11/05 17:14] >>560 どっちかっていうと,C++自体に愛想が付きかけている気がする.すごく 強力で,プロコンの競技部門には必須だし,それ以外でも自分個人で 使う分にはすごく良い.でも後輩に教えようとすると,プログラミング以外で 覚えないといけない部分があまりにも多いことに気が付く. 多分,他人と一緒にプログラムを書くときに,個人の能力差が一番問題に なるのもC++だと思う. #C#かJavaがガベッジコレクタ&VM無しで動かせるなら,すぐにでも移行したい.
566 名前:デフォルトの名無しさん mailto:sage [03/11/05 17:15] Rubyだな
567 名前:思兼 ◆l3iwkTImVo mailto:sage [03/11/05 17:19] >>566 Rubyって起動速い? 値ベースと参照ベースをプログラマが指定できるGenericsがある? メモリ管理をプログラマが指定できる? JITコンパイラの最適化能力は高い? ブロックは{}の形が見やすくて好きだけど,Rubyがプロコンの競技で十分使える 性能を持っているのなら後輩に教えてみる.
568 名前:デフォルトの名無しさん mailto:sage [03/11/05 17:33] | ブロックは{}の形が見やすくて好きだけど,Rubyがプロコンの競技で十分使える |性能を持っているのなら後輩に教えてみる. と言う位Rubyを分かってるなら前4つの質問の答えは分かると思うが?
569 名前:思兼 ◆l3iwkTImVo mailto:sage [03/11/05 19:15] >>568 いや,Rubyのプログラムソースを見たことがあるだけで,実際に使ったことは無い. Perlっぽいスクリプト言語だとか,中間コード+JITコンパイルだからPerlより速いとか, その程度の印象はあるけどそれが正しい理解だと言う自身は無い.
570 名前:思兼 ◆l3iwkTImVo mailto:sage [03/11/05 19:26] 調べてみた. 1.起動速度 C#より遅い 2.Generics 無い?(検索してもそれらしいものがヒットせず.リファレンスを概観しても載ってない) 3.メモリ管理 ガベッジコレクトに任せるしかない. 4.実行速度 C#にダブルスコアをつけて遅い. 結論 Perlの代わりにはなっても,C++の代わりになるとは思えない.
571 名前:デフォルトの名無しさん mailto:sage [03/11/05 19:37] >>570 Rubyはモノタイプ言語なので、genericsは不要。 型チェックが無いので、ミスが許されない競技にはお薦めできないかも? 競技なら、タイピングに手間かけられないだろうから、いくら要件を満たしててもAdaなんかは除外でしょうね。 OCamlとか、どう?(よく知らんけど C++の機能に満足してて複雑さに愛想が尽きてるならDが一番いいんだろうけど、まだアルファだし。 //スレ違いすまんです
572 名前:思兼 ◆l3iwkTImVo mailto:sage [03/11/05 19:56] >>571 競技といっても,プログラミング速度を競うのでは無くて,先に作ったプログラムを 持ち寄って性能を競い合うものです.形式としてはロボコンに近い. www.procon.gr.jp/14th/ #スレ違いすぎだな・・・スマソ
573 名前:デフォルトの名無しさん mailto:sage [03/11/05 20:18] >>565 GCなしネイティブでC系といったら、D言語ですよ。 genericsもあるし、値・参照の使い分けも、メモリ管理も出来る。 pc2.2ch.net/test/read.cgi/tech/1003674814/l50 難点は、D言語がデフォルトのGUIライブラリを持っていないこと。 wxWindowsがポートされると嬉しいんだけど。
574 名前:デフォルトの名無しさん mailto:sage [03/11/05 21:53] >>573 D言語はGC付きだよ。オフにすることもできるけどさ。 まぁ、でも、D言語は俺も期待。思想にちょっと不満はあるが。 文字列とか連想配列とかはライブラリに入れて欲しいかな、やっぱり。
575 名前:の mailto:sage [03/11/05 23:59] >565 Templateみたいな仕組みのある言語があれば、そっちも勉強したいなあ。 コンパイル時に確定している情報と実行時じゃないと確定しない情報という観点で 効率化を計っている言語はC++以外に知らないしなぁ。
576 名前:デフォルトの名無しさん mailto:sage [03/11/06 08:38] Eiffelとかどうなんだろう?
577 名前:デフォルトの名無しさん mailto:sage [03/11/06 19:38] どんな言語にせよ、メジャーになってもらわないと仕事に使えないのが辛い。 メジャーじゃなくても仕事に使える、というつっこみはなしで。
578 名前:デフォルトの名無しさん mailto:sage [03/11/07 03:17] まずは使ってメジャー化させてくださいw
579 名前:デフォルトの名無しさん mailto:sage [03/11/07 23:01] >>574 全体的に禿同
580 名前:デフォルトの名無しさん mailto:sage [03/11/07 23:46] 連想配列は同意だが、文字列に関しては、そのまま文字列に使える配列というのは嫌いじゃ無い、 というか、素のCだってそうだし。 文字列をクラスにした場合、C++のように、リテラルからの格納形式への変換というコストと、 様々な文字列クラス乱立という混乱を招くので、組み込みで正解と思うし、 charの配列とそれ以外の配列を区別する必然性は無いので、OKかと むしろ問題は.sort。同じデータ列でも並び方は色々あるのに、一種類だけ言語に組み込む理由が… //スレ違いゴメン
581 名前:デフォルトの名無しさん mailto:sage [03/11/10 05:20] >>580 見た感じ、標準ではクラスを使わず、データと関数を分離して使う方向で行ってるね。 ここんところがC的だが、Cより安全になってるようだからいいか。 でも、わざわざ配列操作のために演算子作ったり、deleteを連想配列の要素削除に使ったり。 うーん、普通に関数じゃダメなんかな。~ってタイプしにくいぞ。関数のがいいよ……。
582 名前:デフォルトの名無しさん mailto:sage [03/11/12 23:55] 凄いスレだ・・・翻訳プロジェクトが動いてる・・・ このスレの神に習ってFLTK日本語ドキュメントでも作っちゃおうかねぇ・・・
583 名前:の mailto:sage [03/11/13 01:12] >582 ちょっと停滞中だよ。私も今しばらくはTikiの勉強中…… でも、いい加減飽きたから翻訳に戻ろうかな……
584 名前:思兼 ◆l3iwkTImVo mailto:sage [03/11/18 16:51] さっきCマガジンを立ち読みしてきた. C++BuilderXの紹介記事があって,Borlandへのインタビューもあった. wxWindowsは,将来搭載される予定のGUI関連の機能のプレビューと して搭載されただけで,wxWindowsの採用が決定しているわけではない とのこと. とりあえず,wxWindows3が大幅に使いやすくなって,C++BuilderXへの 採用されて,一気にメジャー化という夢はまだ残ってる.
585 名前:デフォルトの名無しさん [03/11/18 21:43] そ、そうなのか。 なんだったんだ。
586 名前:デフォルトの名無しさん mailto:sage [03/11/18 21:44] 夢見すぎ。
587 名前:デフォルトの名無しさん [03/11/18 22:23] 1月にwxWindowsで遊だときは日本語の情報なんてほとんどなかったのに。 ちょっとだけマニュアルを日本語に訳してすぐ挫折した。 すごいよ2ch そのとき作ったページの一部を編集して6月くらいにアップしてほったらかし。 このスレ見たら元気になったので、更新する気力が湧いてきそう。 www.h3.dion.ne.jp/~k5_n/wxwin/index.html
588 名前:デフォルトの名無しさん mailto:sage [03/11/22 02:52] GTK,gtkmmでいいじゃん。
589 名前:思兼 ◆l3iwkTImVo mailto:sage [03/11/22 06:53] >>588 gtkに比べて,wxWindowsはネイティブのLook'n'Feelだとか,多機能だという 違いがある. 特に機能に関しては,Write once, Compile anywhereを実現するために, API依存を吸収するラッパクラスが多数存在する. その代わりgtkmmに比べて泥臭いコードになるんだけどね(w.wxWindows3に 期待.
590 名前:デフォルトの名無しさん mailto:sage [03/11/22 16:29] おれも、gtkやQtなどを使ってしまうことに賛成。 どうしても、windowsの操作感を求めるなら、外部だけ作り直してしまった方がいい。
591 名前:デフォルトの名無しさん mailto:sage [03/11/22 21:23] 逆にGTKやQtはwxWindowsに比べてどんな利点があるの?
592 名前:デフォルトの名無しさん mailto:sage [03/11/23 11:44] www.roebling.de/default.html どうよ?
593 名前:デフォルトの名無しさん mailto:sage [03/11/27 20:04] 2.4.2で、メッセージカタログをShift_JISで作るとちゃんと使えないみたい。 UTF-8では使えたので、内部での変換でしくってるのか? 2.4.0ではちゃんと使えてたのに……。
594 名前:灰 ◆v/.u/aNe9w [03/12/09 01:29] wxColour と 標準イベント識別子 を翻訳してくれた素敵さん。 wxwindowsjp.sourceforge.jp/docs/html/wx/wx63.htm wxwindowsjp.sourceforge.jp/docs/html/wx/wx446.htm ありがのう。 あと、この辺に突っ込んでくれる人がいると誰かが幸せになりそうな気がします。 dot-gray.s33.xrea.com/index.xcg?page=MinGW%A4%D8%A4%CE%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB dot-gray.s33.xrea.com/index.xcg?page=wxRuby%A5%CD%A5%BF
595 名前:デフォルトの名無しさん [03/12/09 18:31] $B$9$_$^$;$s!"$I$J$?$+65$($F2<$5$$!#(B $B2?$+D9$$=hM}$r$9$k;~$K!"=hM}$r$7$F$$$k$"$$$@$K(BWindow$B$H$+$,:FIA2h$5$l$J$/$J$C$F(B $B$7$^$&$N$G$9$,!"$3$l$r=hM}$NESCf$K:FIA2h$5$l$k$h$&$K$7$?$i$I$&$7$?$iNI$$$G$7$g$&$+!#(B $B%a%$%s%U%l!<%`$N(BRefresh(), Raise(), Update() $B$H$+$r8F$Y$PNI$$$N$+$H;W$C$?$N$G$9$,!"(B $B$=$l$G$O:FIA2h$5$l$J$$$h$&$G!D!#(B GUI$B$N%=%U%H:n$C$?;v$J$s$FKX$IL5$$$N$G$I$N$h$&$J%-!<%o!<%I$G8!:w$7$?$iNI$$$N$+$bJ,$+$i$:!"(B $B$I$J$?$+%]%$%s%H$@$1$G$bNI$$$N$G65$($F2<$5$$(Bm(_ _)m
596 名前:595 [03/12/09 18:50] すみません、どなたか教えて下さい。 何か長い処理をする時に、処理をしているあいだにWindowとかが再描画されなくなって しまうのですが、これを処理の途中に再描画されるようにしたらどうしたら良いでしょうか。 メインフレームのRefresh(), Raise(), Update() とかを呼べば良いのかと思ったのですが、 それでは再描画されないようで…。 GUIのソフト作った事なんて殆ど無いのでどのようなキーワードで検索したら良いのかも分からず、 どなたかポイントだけでも良いので教えて下さいm(_ _)m すみません>>595 バケました。
597 名前:デフォルトの名無しさん mailto:sage [03/12/09 19:02] 先人は0.1秒以上かかる処理をメインスレッドでやるなと言っていたが。
598 名前:デフォルトの名無しさん mailto:sage [03/12/09 19:25] 要するに0.1秒未満で実行できるハードウェアを使えということか。
599 名前:デフォルトの名無しさん mailto:sage [03/12/10 03:18] マルチスレッド
600 名前:デフォルトの名無しさん mailto:sage [03/12/10 18:04] >>597 0.1秒未満の処理に分割しろって事ですな
601 名前:デフォルトの名無しさん mailto:sage [03/12/11 17:14] wx494.htm によると,マルチスレッドにする他の選択として,演算を idle handler にするか,定期的に ::wxYield() (wxApp::wxYield())を 呼んで画面を更新してください,と書いてあります. wxYield は,プログレスバーや splashscreen を更新する時によく使われます. ためしてみてください.
602 名前:596 mailto:sage [03/12/16 14:21] >>601 ありがとうございました。さらに安全な::SafeYield()を使うことでそれなりに目的が達成されそうです。 また、 >>597 , 599 やはり途中で中止とかもできるようにしたいので、将来的にはマルチスレッドにもしようと思います。 ご指導ありがとうございました。 ちなみに wxMDIChildFrame::GetParent() って wxGTK だと wxMDIClientWindow を返して、 wxMSWだと wxMDIParentFrame() を返すんですね。コレにハマっていたので、御礼兼メモとして書かせて頂きます。
603 名前:灰 ◆v/.u/aNe9w mailto:sage [03/12/20 23:20] AkiYunタンありがつー。 wxwindowsjp.sourceforge.jp/docs/html/wx/wx411.htm
604 名前:デフォルトの名無しさん [03/12/21 14:39] どんどんあげていこう
605 名前:デフォルトの名無しさん mailto:sage [03/12/21 22:56] じゃぁ、さげ
606 名前:デフォルトの名無しさん mailto:sage [03/12/22 01:09] >>602 GetParentでクライアントウィンドウ返さるのっておかしくねぇ? バグかな。
607 名前:デフォルトの名無しさん mailto:sage [03/12/25 16:47] 翻訳はここに書き込んでいいのかな? wxWindows Hello World サンプル の一文目は、 多くの人から、文法や基本的な原理に関する幾らかの迅速な判断が出来るように、 ここに小さなサンプルを示して欲しい、という要求をされてきたが、あなたは今、 wxWindows における"Hello World" を見ることが出来る。 って感じでしょうか。幾分堅いかな。
608 名前:デフォルトの名無しさん mailto:sage [03/12/28 22:50] Borland の C++ BuilderXに,wxWindows用のパッケージがありました. A technology preview of a RAD designer for the wx framework and of a 100% ANSI/ISO C++ compliant compiler for Windows x86 For use with C++BuilderX Personal and C++BuilderX Enterprise Trial だそうです.
609 名前:思兼 ◆l3iwkTImVo mailto:sage [03/12/29 00:16] >>608 それ,ダウンロードしたPersonal版にはついてなかったんだよな・・・. Borlandの中の人によると,まだwxWindowsに正式に決めたわけでは 無いらしい.
610 名前:デフォルトの名無しさん mailto:sage [03/12/29 01:24] >>609 あくまで,_A technology preview_ですから. でも,Borlandのサイトからダウンロードできるようになってました.
611 名前:& ◆iFNZlc1izc [03/12/29 11:51] >>607 ありがつー。直してきました!
612 名前:デフォルトの名無しさん [03/12/31 17:13] 初心者ですみません。教えてください。 wxWindowsをダウソしてインクルードファイルのパス を通したのですが、wx/setup.hがないと叱られてサンプルが コンパイルできません。 で、自作の空のsetup.hをつくってwxフォルダに入れてみたのですが ダメなのですがどうすればいいでしょうか?
613 名前:デフォルトの名無しさん [03/12/31 17:16] >>612 Windowsの検索機能でsetup.hを探しましたか?
614 名前:デフォルトの名無しさん mailto:sage [03/12/31 17:19] >>613 レスありがとうございます。 探したのですが、#include wx/setup.h になっていてwxにはないのです。 wx/unix/setup.hとかはあるのですが。。。
615 名前:デフォルトの名無しさん mailto:sage [03/12/31 17:21] >>614 CategoryList - Let's wxWindows dot-gray.s33.xrea.com/index.xcg?page=CategoryList
616 名前:614 mailto:sage [03/12/31 17:55] >>615 レスどうもです。 今読んでいるのですが、後ほど報告させていただきますね。 ありがとうございます。。。
617 名前:614 mailto:sage [03/12/31 23:33] レス遅れてすみません。 うまくいきました。 wx/msw/setup.hをwxフォルダにコピーしたらいけました。 どうもです〜。。。
618 名前:デフォルトの名無しさん mailto:sage [04/01/01 00:21] まさかinclude/wxにコピーしたのか? もしそうだったら、そんな変なことせずに lib/msw???/ をインクルードパスに追加せーよ。
619 名前:614 mailto:sage [04/01/01 00:29] >まさかinclude/wxにコピーしたのか? そうです(TT) >もしそうだったら、そんな変なことせずに lib/msw???/ をインクルードパスに追加せーよ。 だってソース中で、#include wx/setup.h ってなってるんですもん(TT)
620 名前:デフォルトの名無しさん [04/01/01 01:03] 今年はwxWindowsがメジャー化しますように
621 名前:デフォルトの名無しさん mailto:sage [04/01/01 02:38] >>619 >だってソース中で、#include wx/setup.h ってなってるんですもん(TT) そりゃそうだよ。 lib/msw???/wx/setup.h にビルドに対応したsetup.hが入ってるんだから。 lib/msw???/をインクルードパスに追加したら、#include <wx/setup.h>で lib/msw???/wx/setup.hが読み込まれるだろ?
622 名前:の mailto:sage [04/01/01 03:20] あけおめ >619 VCでのインストール手順はここです(引越しました)。 www.fiercewinds.net/programming/wxWindows/index.html VC使ってるなら参考にしてください。
623 名前:デフォルトの名無しさん mailto:sage [04/01/01 06:09] wxmsw242d.dllのサイズが26.7Mもあるんですが もっと小さくできませんか?
624 名前:思兼 ◆l3iwkTImVo mailto:sage [04/01/01 06:33] >>623 デバッグ用だとそんなもん.リリース版ではもっと小さくなるから気にしない. あと,VCのランタイムと違ってwxWindowsのランタイムはバージョンが同じでも configureの仕方で中身が違ってくるから,リリース版ではDLLを使わずにスタティックで ビルドする事をお勧めする.
625 名前:デフォルトの名無しさん mailto:sage [04/01/01 07:48] >>624 こんなもんですか。なるほど。 公開する上ででかいdllをダウンロードするのは大変だと思ってたんですが しょうがないですね。 ありがとうございました。
626 名前:思兼 ◆l3iwkTImVo mailto:sage [04/01/01 15:41] >>625 wxmsw242d.dllはデバッグビルドされたdll.デバッグ情報が入ってるのでデカイ. 公開にはデバッグ情報の無いwxmsw242.dllの方を使おう. できれば>>624 に書いたようにスタティックで使うことをお勧めするけどね.
627 名前:デフォルトの名無しさん mailto:sage [04/01/01 22:27] make -f makefile.g95 WXMAKINGDLL=1 でコンパイルするとwxmsw242d.dllができるのに対して、 wxmsw242.dllを作るにはどのようにコンパイルすればいいですか?
628 名前:思兼 ◆l3iwkTImVo mailto:sage [04/01/01 22:32] >>627 bccは使って無いから知らないけど,多分 make -f makefile.g95 WXMAKINGDLL=1 FINAL=1 だと思う.
629 名前:思兼 ◆l3iwkTImVo mailto:sage [04/01/01 22:36] あ,makefile.g95はgccか.多分コマンドは>>628 で合ってる. それでダメなら,cygwinかMinGWで strip wxmsw242d.dll でデバッグ情報を外せるはず.こっちだと最適化はされないけどね.
630 名前:デフォルトの名無しさん mailto:sage [04/01/01 22:48] ありがとう。やってみます。
631 名前:デフォルトの名無しさん mailto:sage [04/01/01 23:52] wxmsw242.dllできました。なんと4.85M! これで「サイズデカッ!」っていわれずにすみそうです。 ありがとうございました。
632 名前:デフォルトの名無しさん mailto:sage [04/01/02 00:18] サンプルのコンパイルがうまくいないのはなぜですか? make -f makefile.g95 WXUSINGDLL=1 ../../include/wx/chkconf.h:47:9: #error "wxUSE_DYNLIB_CLASS must be defined." ../../include/wx/chkconf.h:55:9: #error "wxUSE_FILESYSTEM must be defined." ../../include/wx/chkconf.h:68:9: #error "wxUSE_DYNAMIC_LOADER must be defined." docview.cpp:212: error: invalid use of undefined type `class MyFrame' docview.h:43: error: forward declaration of `class MyFrame' make: *** [docview.o] Error 1
633 名前:デフォルトの名無しさん mailto:sage [04/01/02 04:08] ちょいと質問. wxWindowsを最初にいったんビルドしたら消してもいいファイルってどれだろ? ちょっとHDがきつい(全体で9GBしかない)から, もう要らないファイルは消したいんだけど. Debug〜は(Release〜さえあれば)いらないの?
634 名前:デフォルトの名無しさん mailto:sage [04/01/02 04:34] >>633 *.obj
635 名前:思兼 ◆l3iwkTImVo mailto:sage [04/01/02 04:43] >>633 環境によるけれど,例えばMSYS+MinGWの場合,make installしたあとは wxWindowsを解凍してできたフォルダの中身全部いらなかったと思う. 必要なヘッダファイル+ライブラリファイルがコピーされるから. Debug〜は,wxWindowsのデバッグ情報が要らないならいらないと思う. 今はwxWindows入れて無いから確認取れないので,誰かフォローお願い.
636 名前:632 mailto:sage [04/01/02 05:32] エラーの原因がわからないので寝ました。 先程起きてもういちどやってみたらうまく行きまくりでした。ムハッ 原因はFINAL=1を付け忘れたことです。 しかも、サイズが205K! デバッグのときは1M以上あったのに驚きです。 make -f makefile.g95 WXUSINGDLL=1 FINAL=1
637 名前:の mailto:sage [04/01/02 13:19] >633 Win2K/VC++/wxWindows2.4.2で試してみました。 includeフォルダとlibフォルダ以外は削除しても問題なさそうです。 #Locale使うのならlocaleフォルダもいるかな? また、libフォルダの中身も、リンク/インクルードしているファイル以外は 削除しても問題なさそうです。 #自分のプログラムだと lib/wxmsw.libとlib/mswd/wx/setup.hのみ これで19,989,302 バイト……スタティックリンクだからしょうがないけどね。
638 名前:633 mailto:sage [04/01/02 19:06] >>635 >>637 とりあえずRelease〜とかDebug〜とか消してみた. ほとんどがobjファイルだったからOKだよね. ありがと.
639 名前:デフォルトの名無しさん mailto:sage [04/01/03 02:45] 海外掲示板用オフラインリーダーを作るスレ pc2.2ch.net/test/read.cgi/tech/1072883528/ 海外でよく使われていうる掲示板スクリプト 専用のオフラインリーダー作って下さい。 必要な条件はID、PASSを管理できること、 OpenJaneみたいな三面型の見た目。 簡単にローカライズできるように言語ファイルを採用
640 名前:思兼 ◆l3iwkTImVo mailto:sage [04/01/03 04:08] MinGWをインストールしやすいようにパッケージにしてくれているbitwalkさんの ところで,いつの間にかwxWindowsもパッケージ化されていました. www63.tok2.com/home/bitwalk/download.html#wx MinGW+wxWindowsのインストールが楽チンでできるのでお勧め.
641 名前:デフォルトの名無しさん mailto:sage [04/01/07 14:42] サンプルのopenglだけうまくコンパイルできない。
642 名前:デフォルトの名無しさん mailto:sage [04/01/07 16:01] Java1.5でデフォルトの見た目がWindowsネイティブっぽくなる&テンプレートっぽい機能が使えるようになるので、wxWin捨てる悪寒です。
643 名前:デフォルトの名無しさん mailto:sage [04/01/07 16:46] >>642 捨てるもなにもそもそもどれくらい使っていたのかと(ry
644 名前:デフォルトの名無しさん mailto:sage [04/01/07 18:20] >>641 エラー内容は? OpenGLのヘッダーファイルは入っている?
645 名前:デフォルトの名無しさん mailto:sage [04/01/07 18:49] >>644 調べてみる
646 名前:デフォルトの名無しさん mailto:sage [04/01/07 18:57] mingwフォルダにあるgl.h、glex.h、glu.hの3つをコピーしてみたけど失敗。 cube.cpp:31:2: #error Please set wxUSE_GLCANVAS to 1 in setup.h. In file included from cube.cpp:34: cube.h:44: error: syntax error before `{' token cube.h:50: error: syntax error before `*' token cube.h:55: error: destructors must be member functions ・ ・ cube.cpp: In member function `virtual bool MyApp::OnInit()': cube.cpp:524: error: syntax error before `(' token make: *** [cube.o] Error 1
647 名前:デフォルトの名無しさん mailto:sage [04/01/07 19:19] >>646 Please set wxUSE_GLCANVAS to 1 in setup.h
648 名前:デフォルトの名無しさん mailto:sage [04/01/07 20:15] ・・・
649 名前:デフォルトの名無しさん mailto:sage [04/01/07 20:26] Please set wxUSE_GLCANVAS to 1 in setup.h完了 しかし新たなる問題が。 cube.o(.text+0x13b4):cube.cpp: undefined reference to `_imp___ZN10wxGLCanvasC2EP8wxWindowPKS_iRK7wxPointRK6wxSizelRK8wxStringPiRK9wxPalette' cube.o(.text+0x1444):cube.cpp: undefined reference to `_imp___ZN10wxGLCanvasC2EP8wxWindowPKS_iRK7wxPointRK6wxSizelRK8wxStringPiRK9wxPalette' ・ ・ cube.o(.text$_ZNK10wxGLCanvas12GetClassInfoEv+0x2):cube.cpp: undefined reference to `_imp___ZN10wxGLCanvas18sm_classwxGLCanvasE' make: *** [cube.exe] Error 1
650 名前:デフォルトの名無しさん mailto:sage [04/01/07 20:30] ライブラリをビルドする前に1しろよな、当然ながら。
651 名前:デフォルトの名無しさん mailto:sage [04/01/07 20:43] 0から1にはしたよ
652 名前:デフォルトの名無しさん mailto:sage [04/01/07 20:55] こんなのもある cube.cpp:81: warning: unsigned int format, long int arg (arg 3)
653 名前:デフォルトの名無しさん mailto:sage [04/01/07 20:58] もしかして、wxWindowsとは別にopenGLをインストールしないとダメ?
654 名前:デフォルトの名無しさん mailto:sage [04/01/07 21:04] >>651 650も書いてるが、wxWindowsを初めからビルドし直さなければ だめだよ。 それから、サンプルのコンパイル。
655 名前:デフォルトの名無しさん mailto:sage [04/01/07 21:14] >>654 え? そんなめんどうなことやりますよ。
656 名前:デフォルトの名無しさん [04/01/07 21:18] やりおえたら、その手順をうpしてね♪
657 名前:デフォルトの名無しさん mailto:sage [04/01/08 03:16] Linux版だとRPMにGL版入ってるけどな。
658 名前:655 mailto:sage [04/01/08 04:42] >>646-647 にあるように、スタートボタン→検索(F)→ファイルやフォルダ(F)で wxWindowsをインストールしたフォルダ内のsetup.hを探して setup.h内でwxUSE_GLCANVAS 0 となっているところ全てをwxUSE_GLCANVAS 1に変更。 その後、654さんの言うとうり、wxWindowsを始めからビルドしなおしました。 d:\wx\src\>mingw32 d:\wx\src\>cd msw d:\wx\src\msw>make -f makefile.g95 cleanall d:\wx\src\msw>make -f makefile.g95 WXUSINGDLL=1 FINAL=1 WXMAKINGDDとすべき所をいつものようにWXUSINGDLLとしていたので失敗。 d:\wx\src\msw>make -f makefile.g95 cleanall d:\wx\src\msw>make -f makefile.g95 WXMAKINGDLL=1 FINAL=1 ビルド時間長杉->睡眠->起床->ビルド成功! 次はサンプルのコンパイル。 d:\wx\samples\opengl\cube>make -f makefile.g95 cleanall d:\wx\samples\opengl\cube>make -f makefile.g95 WXUSINGDLL=1 FINAL=1 大成功!みなさんありがとうー。。。 あれ? (つづく)
659 名前:デフォルトの名無しさん mailto:sage [04/01/08 04:59] cube.exeをクリックしても、2つのダイアログが出て起動せず。 ・プログラム開始エラー CUBE.EXE ファイルは 欠落エクスポート WXMSW242.DLL:_ZN10wxGLCanvas10SetCurrentEv にリンク されています。 ・D:\wx\samples\opengl\cube\cube.exe D:\wx\samples\opengl\cube\cube.exe システムに装着されたデバイスは動作していません。 前にもコンパイルしたサンプルが起動しなかったことがあって、その時はdllをC:\WINDOWS\SYSTEM内に入れたらうまくいったので、 同様にd:\wx\lib内のwxmsw242.dllをコピーして、C:\WINDOWS\SYSTEM内にペーストしようとしたら、 ファイルの上書き確認ダイアログ出現。 現在のファイル サイズ:4.85MB 更新日時:2004年1月1日、23:39:22 に新しいファイルを上書きしますか? サイズ:4.87MB 更新日時:2004年1月7日、22:11:32 setup.hの情報を変えてビルドし直したせいか、ファイルのサイズが違ったので、 これで間違いない(長井風)と思い、もう一度cube.exeをクリックすると。キター!! みなさんありがとうございました。うまくいきました。
660 名前:思兼 ◆l3iwkTImVo mailto:sage [04/01/08 05:13] >>659 dllだと,ビルドしたときの設定によって中身が変わっちゃうからね. 自分で使う分には,使いそうな機能全部Enableにしたdllを使えばいいかもしれないけれど, 配布する時にはユーザーが使っているdllのことも考えないといけなくなる. 全部スタティックリンクしちゃえば,DLL HELLは避けられるよ.賢いリンカは使わない関数は 外してサイズを削ってくれるし,そもそもMFCとちがってwxWindowsはアプリが少ないからdllを 使ってもメモリの節約になら無いから,スタティックがお勧め.