【GUI】wxWidgets(旧wxWindows) その5【サイザー】 (960レス)
【GUI】wxWidgets(旧wxWindows) その5【サイザー】 http://mevius.5ch.net/test/read.cgi/tech/1270793556/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
307: デフォルトの名無しさん [sage] 2011/12/05(月) 21:34:18.68 >>306 ./configure -h で付けられるオプションが見れるからやってみ、その中にwxUSE_ACCESSIBILITYも入ってるだろう http://mevius.5ch.net/test/read.cgi/tech/1270793556/307
308: デフォルトの名無しさん [sage] 2011/12/05(月) 21:38:07.80 $ ./configure -h | grep accessibility --enable-accessibility enable accessibility support あったあった。何に使うのかわからんけどどうぞ。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/308
309: デフォルトの名無しさん [] 2011/12/06(火) 11:00:02.97 >>307,308 何から何まですみません。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/309
310: 255 [sage] 2011/12/06(火) 11:57:28.16 wxAccessibleってマニュアルに For details on the semantics of functions and types, please refer to the Microsoft Active Accessibility 1.2 documentation. とか、 Availability: only available for the wxMSW port. とかあるけどlinuxで意味あるのか? http://mevius.5ch.net/test/read.cgi/tech/1270793556/310
311: デフォルトの名無しさん [] 2011/12/06(火) 14:11:37.79 >>310 下のサイト http://www14.ocn.ne.jp/~bkclass/doc_wxsamples.html を見て、サンプルのソース実行して勉強してたんですけど、accessっていうサンプルをコンパイルして実行をしようとすると、 "This sample has to be compiled with wxUSE_ACCESSIBILITY" というメッセージが出たので、 Windowsのみ本体のwxUSE_ACCESSIBILITYを1にする、とは書いてあったんですが、動いてないということはLinuxでも必要なのかと勝手に思い込んでこちらで聞いてみたんですが、やっぱりLinuxでは意味が無いんでしょうか… http://mevius.5ch.net/test/read.cgi/tech/1270793556/311
312: 311 [] 2011/12/06(火) 14:27:45.09 度々すみません。 こちらでもマニュアルを確認したら、accessはWindowsのみと書いてありました。 今度からはマニュアルを良く読んで、わからなかったらこちらで聞きたいと思います。 自分自身でもあんまりにゆとりすぎて反省してます…。 みなさん大変ご手数をおかけしました。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/312
313: デフォルトの名無しさん [sage] 2011/12/07(水) 15:35:36.35 ほとんどのゆとりにくらべたらまだましなほうだわ http://mevius.5ch.net/test/read.cgi/tech/1270793556/313
314: デフォルトの名無しさん [sage] 2011/12/07(水) 19:17:24.24 ゆとりはHSPとかC#に行くだろうからこっちには来ないだろうな あとC++のGUIライブラリで有名で日本語ドキュメントがあるのはQtとかgtkだろうからさらにやる人は減る 最後にwxWidgetsは英語の知識とC++のオブジェクト指向がわかってないとできないから挫折する人も多いだろう とゆとりが言ってみる http://mevius.5ch.net/test/read.cgi/tech/1270793556/314
315: デフォルトの名無しさん [sage] 2011/12/07(水) 20:24:22.32 wxWidgets > Qt >>> こえられないかべ >>> GTK http://mevius.5ch.net/test/read.cgi/tech/1270793556/315
316: デフォルトの名無しさん [] 2011/12/11(日) 22:40:24.44 wxWidgets > Qt なの? http://mevius.5ch.net/test/read.cgi/tech/1270793556/316
317: デフォルトの名無しさん [sage] 2011/12/15(木) 13:37:15.62 いわゆるビジュアルプログラミング言語は 生産性を改善するという触れ込みでありながら、事実上普及していない 何でかは知らんけど、同じ大きさのモニタに表示できる情報量で テキストに負けちゃうからっていう説を聞いたことがあるような http://mevius.5ch.net/test/read.cgi/tech/1270793556/317
318: デフォルトの名無しさん [sage] 2011/12/16(金) 01:32:59.64 |....,,__ |_::;; ~"'ヽ | //^''ヽ,,) | i⌒" | ∀`) < 誰もいない きのこるならいまのうち |⊂ | ノ _,,,......,,__ /_~ ,,...:::_::;; ~"'ヽ (,, '"ヾヽ i|i //^''ヽ,,) ^ :'⌒i i⌒" |( ´∀`) < きのこ のこーのこ げんきのこ ♪ |(ノ |つ | | ⊂ _ ノ ""U _,,,......,,__ /_~ ,,...:::_::;; ~"'ヽ (,, '"ヾヽ i|i //^''ヽ,,) ^ :'⌒i i⌒" (´∀` )| < エリンギ まいたけ ブナシメジ ♪ ⊂| (ノ | | | ヽ _ ⊃ .U"" | | ミ | ミ サッ! | ミ | http://mevius.5ch.net/test/read.cgi/tech/1270793556/318
319: デフォルトの名無しさん [] 2011/12/16(金) 06:38:53.32 下記のページ http://docs.wxwidgets.org/2.8/wx_wxcommandevent.html でwxCommandEventを勉強していたのですが、 GetIntとGetSelectionの違いがよく分かりません。 GetIntは wxCommandEvent::GetInt int GetInt() Returns the integer identifier corresponding to a listbox, choice or radiobox selection (only if the event was a selection, not a deselection), or a boolean value representing the value of a checkbox. と書いてあり、GetSelectionは Returns item index for a listbox or choice selection event (not valid for a deselection). と書いてあるのですが、GetIntの選択されたリストボックスに対応付けられたInt型と言うのはGetSelectionで返される値と何か違うものなのでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1270793556/319
320: デフォルトの名無しさん [sage] 2011/12/16(金) 13:32:13.51 ver 2.8.12 include/wx/event.h 538: int GetSelection() const { return m_commandInt; } 554: int GetInt() const { return m_commandInt; } http://mevius.5ch.net/test/read.cgi/tech/1270793556/320
321: デフォルトの名無しさん [] 2011/12/22(木) 01:35:21.75 リストボックスの中に、入れ子でリストボックスを作りたいと思いマニュアルを見て、wxListBoxのメンバ関数であるCreate関数を利用すれば2段階リストが構成できるということまではわかったのですが、Create関数の使い方がいまいちわかりません。 お手数ですが、どなたか使い方を教えていただきませんでしょうか。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/321
322: デフォルトの名無しさん [sage] 2011/12/22(木) 06:52:48.65 了解 http://mevius.5ch.net/test/read.cgi/tech/1270793556/322
323: デフォルトの名無しさん [sage] 2011/12/22(木) 18:41:37.88 wxRegExを使うため、wxregexライブラリをビルドし、成功しました。 しかし、いざプログラムで「wxRegEx」クラスを使おうとすると、「error C2065: 'wxRegEx' : 定義されていない識別子です」というエラーが出て、全く使えません。 思いつく方が居たらお願いします。 OS: Windows 7 wxWidgets: 2.9.1 コンパイラ: Visual C++ 2010 Express http://mevius.5ch.net/test/read.cgi/tech/1270793556/323
324: デフォルトの名無しさん [sage] 2011/12/22(木) 18:52:26.42 >>323 すいません、プリコンパイル済みヘッダを再作成してみたらうまくいきました。 スレ汚しすいません…… http://mevius.5ch.net/test/read.cgi/tech/1270793556/324
325: デフォルトの名無しさん [sage] 2011/12/22(木) 19:21:01.94 MinGW勢はいないのか どいつもこいつもマイクロソフトの犬だな http://mevius.5ch.net/test/read.cgi/tech/1270793556/325
326: デフォルトの名無しさん [sage] 2011/12/23(金) 01:55:47.35 mingwの時点でOSはWindowsなのに >どいつもこいつもマイクロソフトの犬だな とか書くのかよw http://mevius.5ch.net/test/read.cgi/tech/1270793556/326
327: デフォルトの名無しさん [sage] 2011/12/23(金) 02:50:47.72 確かにそうだな、ちょっとWindows捨ててくる http://mevius.5ch.net/test/read.cgi/tech/1270793556/327
328: デフォルトの名無しさん [sage] 2011/12/23(金) 16:08:42.36 wxWidgetsはWindows以外はおまけだろ。 Win32のラッパーとしての価値しかないと思っている。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/328
329: デフォルトの名無しさん [sage] 2011/12/23(金) 16:11:37.68 >>326 ナイス http://mevius.5ch.net/test/read.cgi/tech/1270793556/329
330: デフォルトの名無しさん [sage] 2011/12/23(金) 16:12:34.17 >>328 元々 wxWindows だからなぁ http://mevius.5ch.net/test/read.cgi/tech/1270793556/330
331: デフォルトの名無しさん [sage] 2011/12/24(土) 17:54:24.54 migw もなぁ…64bit対応がなぁ… wxruby とか使いたくても使えないよ しかしひとはビルドしろという なんどでもビルドしろという びるどしろー http://mevius.5ch.net/test/read.cgi/tech/1270793556/331
332: デフォルトの名無しさん [sage] 2011/12/25(日) 00:36:14.77 rubyるど http://mevius.5ch.net/test/read.cgi/tech/1270793556/332
333: デフォルトの名無しさん [sage] 2011/12/25(日) 08:31:41.01 MSWでwxListCtrlを使ってみたらDESELECTEDイベントが通知されないバグがあったので クリックやキボード操作が行われる度に選択状態を自分でチェックしてDESELECTEDイベントを送るようにしたら アイテムが1個の時に何故かマウスイベントが消し去られるバグまで出てきて もう八方塞がりです なにこれ馬鹿 http://mevius.5ch.net/test/read.cgi/tech/1270793556/333
334: デフォルトの名無しさん [sage] 2011/12/25(日) 12:00:56.99 wxLC_VIRTUALの呪い http://mevius.5ch.net/test/read.cgi/tech/1270793556/334
335: デフォルトの名無しさん [sage] 2011/12/25(日) 13:04:57.85 そういうのってバグ報告できないのかな? http://mevius.5ch.net/test/read.cgi/tech/1270793556/335
336: デフォルトの名無しさん [sage] 2011/12/25(日) 21:34:01.11 馬鹿が使うと馬鹿っぽく振舞います http://mevius.5ch.net/test/read.cgi/tech/1270793556/336
337: デフォルトの名無しさん [sage] 2011/12/27(火) 11:01:32.77 明らかに開発陣はWindowsでテストしてないな 昔よりバグが悪化してるwww http://mevius.5ch.net/test/read.cgi/tech/1270793556/337
338: デフォルトの名無しさん [sage] 2011/12/27(火) 12:10:40.98 最近wxTreeCtrl使ってるけどイベント通知できんわ 仕様がわかってないだけかも知れんが、バグだったら報告しなきゃだな http://mevius.5ch.net/test/read.cgi/tech/1270793556/338
339: デフォルトの名無しさん [sage] 2011/12/27(火) 16:48:41.14 できるよ http://mevius.5ch.net/test/read.cgi/tech/1270793556/339
340: デフォルトの名無しさん [sage] 2011/12/27(火) 19:07:54.63 最新バージョンってバグ多いの? これから使うか悩んでるので教えてださい。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/340
341: 338 [sage] 2011/12/27(火) 23:00:49.89 今日ちょっとwxTreeCtrlの全イベント試してみたが、特に問題なかった。環境はMSW(MinGW) >>340 英語が多くてドキュメントがAPIリファレンスしかないのがある意味バグw この前wxXMLをHTMLに使ったら一気にバグってワロタ(当たり前だけど) それさえ超えればいいものだと思います http://mevius.5ch.net/test/read.cgi/tech/1270793556/341
342: デフォルトの名無しさん [sage] 2011/12/27(火) 23:36:17.73 自分の無能を環境のせいにすんなやぼけ http://mevius.5ch.net/test/read.cgi/tech/1270793556/342
343: デフォルトの名無しさん [sage] 2011/12/28(水) 08:03:39.44 バグとか明らかに仕様とは違う動きをしたりすることは多々あるけど もともとネイティブAPIをラップしただけだから誤魔化せるかもしれない 結局のところネイティブレベルの知識とwxWidgetsの中身まで調べないといけないので時間はかかる それでもネイティブコンパイル出来ないC#も嫌だし、MFCよりは遥かにましだけどw ネイティブレベルのことをしたくてGUIも楽に作りたいって要求に答えてくれるものがないもんな http://mevius.5ch.net/test/read.cgi/tech/1270793556/343
344: デフォルトの名無しさん [sage] 2011/12/28(水) 15:34:13.86 >>341 英語なのはキツイけどほかに良いライブラリも見当たらないし我慢するw >>343 バグがあるってのはちょっと残念だなぁ ネイティブレベルの知識もそんなに無いし不安だ・・・ けど、大きなバグじゃないのなら少し使ってみようと思います。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/344
345: デフォルトの名無しさん [sage] 2011/12/29(木) 15:13:49.10 649 デフォルトの名無しさん [sage] 2011/12/29(木) 14:50:37.28 ID: Be: 学生プログラマ日本一決定戦(予選は社会人も参加可) ttp://codevs.jp/howto.html 現在予選開催中 応募締切 2012.1.6 12:00 おもしろいことやっているじゃん。誰か今から参加しろよ。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/345
346: 本田 [] 2011/12/31(土) 22:24:08.47 >>340 http://www.wxwidgets.org/ wxWidgets 2.9.3 Released 2011-12-14 While this is still officially a development release because some API details are still not frozen, we believe that 2.9.3 can be used in production environment, especially for the new projects for which (small) changes in behaviour since 2.8 are not a problem. Give it a try and let us know what do you think! http://mevius.5ch.net/test/read.cgi/tech/1270793556/346
347: デフォルトの名無しさん [sage] 2012/01/01(日) 00:03:23.71 2.8もバグ多い http://mevius.5ch.net/test/read.cgi/tech/1270793556/347
348: デフォルトの名無しさん [] 2012/01/01(日) 11:14:18.13 サイザーage http://mevius.5ch.net/test/read.cgi/tech/1270793556/348
349: 【大吉】 【683円】 [sage] 2012/01/01(日) 12:26:18.78 今年のおみくじは大吉を良く目にする http://mevius.5ch.net/test/read.cgi/tech/1270793556/349
350: 【大吉】 [sage] 2012/01/01(日) 13:38:44.46 今年はwx使うことあるかなー http://mevius.5ch.net/test/read.cgi/tech/1270793556/350
351: デフォルトの名無しさん [sage] 2012/01/04(水) 16:51:15.64 wxWebViewって縦書きに対応してる? http://mevius.5ch.net/test/read.cgi/tech/1270793556/351
352: デフォルトの名無しさん [sage] 2012/01/05(木) 01:29:02.25 wxTextCtrlの内容を一行ずつ読み込みたいです。 行数を調べるのに以下のやり方でいいのかと考えたのですがエラーがでます。 size_t abc = wxTextCtrl::TextCtrl1.GetNumberOfLines(); コンパイルすると以下のエラーがでます。 C:\Users\x\Desktop\practice\practiceMain.cpp||In member function 'void practiceFrame::OnButton2Click(wxCommandEvent&)':| C:\Users\x\Desktop\practice\practiceMain.cpp|225|error: 'TextCtrl1' is not a member of 'wxTextCtrl'| http://docs.wxwidgets.org/2.9.3/classwx_text_file.html ここを見るとメンバー関数と書いているようなのですが、何か考え違いをしていると思うのですが・・ 教えてください。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/352
353: デフォルトの名無しさん [sage] 2012/01/05(木) 01:32:45.50 >>352 wxTextCtrlではなくwxTextFileとあるけように思える。 IDE使ったほうがいいんじゃない? http://mevius.5ch.net/test/read.cgi/tech/1270793556/353
354: デフォルトの名無しさん [sage] 2012/01/05(木) 02:10:29.44 >>353 レスありがとうございます。 リンクを間違っていました。 以下を参考にしました。 http://wxwindowsjp.sourceforge.jp/docs/html/wx/wx381.htm#wxtextctrlgetnumberoflines IDEは、CODE::BLOCKS SVN:7550を使用しています。 試しに以下のことをやってみたのですがエラーがでました。 int abc = TextCtrl1.GetNumberOfLines(TextCtrl1); C:\Users\x\Desktop\practice\practiceMain.cpp|225|error: request for member 'GetNumberOfLines' in '((practiceFrame*)this)->practiceFrame::TextCtrl1', which is of non-class type 'wxTextCtrl*'| int abc = TextCtrl1.GetNumberOfLines(); C:\Users\x\Desktop\practice\practiceMain.cpp|225|error: request for member 'GetNumberOfLines' in '((practiceFrame*)this)->practiceFrame::TextCtrl1', which is of non-class type 'wxTextCtrl*'| wxTextCtrl1は、CODE::BLOCKSのGUIの部品を貼り付けています。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/354
355: デフォルトの名無しさん [sage] 2012/01/05(木) 02:31:38.99 >>354 全体のコード見てないからなんとも言えないが、TextCtrlはprivateとかで宣言しないと外から触れんぞ 例 Frame.h private : wxTextCtrl* m_text; Frame.cpp // メソッド内にテキストコントロール配置 m_text = new (.....); m_text->Hogehoge(); http://mevius.5ch.net/test/read.cgi/tech/1270793556/355
356: デフォルトの名無しさん [sage] 2012/01/05(木) 12:59:53.67 >>355 レスありがとう。 int abc = TextCtrl1 -> GetNumberOfLines(); と書けば、エラーなくコンパイルできました。 本当にありがとうでした。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/356
357: デフォルトの名無しさん [sage] 2012/01/05(木) 17:12:08.35 >>356 それじゃあコンパイルできても内部処理書く段階で死にそうなのでアドバイス 第十三回-03 ドット演算子とアロー演算子 http://brain.cc.kogakuin.ac.jp/~kanamaru/lecture/prog1/13-03.html あとこことかも役に立つ ●C++編(言語解説) トップページ http://www.geocities.jp/ky_webid/cpp/language/index.html http://mevius.5ch.net/test/read.cgi/tech/1270793556/357
358: デフォルトの名無しさん [sage] 2012/01/05(木) 21:49:09.86 >>357 ありがとうございます。 ゆっくり読みます。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/358
359: デフォルトの名無しさん [sage] 2012/01/06(金) 15:41:25.76 テキストファイルを読み込む時に、utf-8のファイルの場合はreadして読み込むことができます。 テキストファイルがsjisの場合、次のようなエラーメッセージが表示されます。 [Faild to convert file "z:\test.txt" to unicode http://docs.wxwidgets.org/2.9.3/classwx_text_file.html http://docs.wxwidgets.org/2.9.3/classwx_conv_auto.html 上記を読むと、wxConvAuto機能を使用すると自動的にコンバートしてくれるように記載されているように見えます。 それで、openするときに、wxConvAuto()を付け加えてみたのですがエラーがでます。 wxConvAutoは付けても、付けなくても同じ現象です。 tfile.Open(file,wxConvAuto()); TextCtrl1->SetValue(str); に、utf-8のファイルを読み込むと内容が反映されます。 sjisだとオープン時に(本当にオープンするときのエラーかどうかはわかりませんが・・・)上記エラーがでます。 またTextCtrl1にはテキストファイルの内容が反映されません。 どこが悪いか教えてください。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/359
360: デフォルトの名無しさん [sage] 2012/01/06(金) 15:42:52.53 すいません、ソースコードは短めなので、こちらに書きます。 wxString file,str,s,number; wxTextFile tfile; wxFileDialog fdlog(this,_T("テキスト読み込みファイルの選択"), wxEmptyString, wxEmptyString, wxEmptyString, wxFD_OPEN); if(fdlog.ShowModal() != wxID_OK) return; { file.Clear(); file = fdlog.GetPath(); tfile.Open(file,wxConvAuto()); wxLogMessage(_T("オープンできました。")); str = tfile.GetFirstLine(); s = str; str += '\n'; while(!tfile.Eof()) { s= tfile.GetNextLine(); str += s; str += '\n'; } TextCtrl1->SetValue(str); wxLogMessage(_T("読み込み完了しました")); tfile.Close(); こんな感じです。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/360
361: デフォルトの名無しさん [] 2012/01/06(金) 16:25:17.96 wxTextCtrlの中身を印刷したいのですが、どのようにすればいいのかいまいち分かりません。 どこかにwxTextCtrlのアドレスか何かを渡せばよいのでしょうか?教えてください http://mevius.5ch.net/test/read.cgi/tech/1270793556/361
362: デフォルトの名無しさん [sage] 2012/01/06(金) 18:45:10.90 >>360 過去スレにもSJIS読み込みについての事例が沢山あるが、wxWidgetsのライブラリによるSJIS→UTF-8の変換は全く期待できない 結論としては「UnicodeビルドしてUTF-8で読み込め」でFAだとおもう おすすめはlibiconvでUTF-8に変換してからwxWidgets内に読み込む iconvはwikipediaにもサンプルコードがあるから、使うのは難しくないはず http://ja.wikipedia.org/wiki/Iconv >>361 wxWidgets2.9.3のクラスリファレンス見れ、いっぱい使えそうなのあるぞ wxPrintData wxPrintDialog wxPrintDialogData wxPrinter wxPrinterDC wxPrintout wxPrintPreview http://mevius.5ch.net/test/read.cgi/tech/1270793556/362
363: 361 [] 2012/01/06(金) 19:18:13.20 印刷の件ですが、wxPrinterDCにwxTextCtrlの値を渡せばWindowsでは印刷することができました。 しかし、LINUX(ubuntu11.10)環境下では、印刷プレビューを見る限りではうまくいっている様に思えるのですが、実際に印刷してみると(test wordsと言う文字を1部だけ印刷しようとしました。)、 1枚目のプリントに下記のようなエラーが印刷され、その後プリンタが無限に白紙を出しつづけるという不具合が起こりました。 %!PS-Adobe-3.0 %%Creator: Gnome Print Version 2.18.8 %%CreationDate: D:201201061 この不具合は、wxWidgets2.8.12の印刷用のサンプルプログラムprintingの内容を印刷しようとしても起きてしまったので、 参考にしたサンプルその物がどこかおかしいか、こちらの印刷まわりの設定がおかしいかのどちらかだと思うので、とりあえず上記のエラーを調べてみます。 >>362 レスありがとうございます。 一応読んではいたのですが、いまいちよく分からなかったのでここに頼ってしまいました。住みません。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/363
364: デフォルトの名無しさん [sage] 2012/01/06(金) 19:42:20.71 さっきShift_JISで読み込むのは無理だと言ったがそれは嘘だ(コマンドー風に) 下みたいなテストプログラムで普通にShift_JIS読み込めてワロタ 2.9.3パない // テキストファイルの読み込み wxTextFile file(wxT("./Shift_JIS.txt")); file.Open(wxConvAuto(wxFONTENCODING_CP932)); wxString test = file.GetFirstLine(); frame->SetStatusText(test); frame->Show(true); http://mevius.5ch.net/test/read.cgi/tech/1270793556/364
365: デフォルトの名無しさん [sage] 2012/01/07(土) 21:53:08.88 >>362>>364 レスありがとうございます。 試しに以下のように入力してコンパイルしてみました。 wxTextFile file(wxT("c:\\Shift_JIS.txt")); file.Open(wxConvAuto(wxFONTENCODING_CP932)); wxString test = file.GetFirstLine(); コンパイルすると、下記エラーがでます。 C:\Users\x\Desktop\practice\practiceMain.cpp|154|エラー: no matching function for call to 'wxConvAuto::wxConvAuto(wxFontEncoding)'| wxwigetsは,2.8.12を使用しています。 コンパイルが通らない原因が、わからにので2.9.3のソースをダウンロードしてコンパイルを試しています。 cドライブ直下に、MinGWとmsysというのを導入後、msys.batで端末?を起動しました。 そこで、./configure --disable-shared --enable-monolithic --enable-unicodeと行い、make make installまでは行いました。 make installした成果物?をwindowsの実行環境にどうもっていくか調べているところです。 何が悪いか手探りなので的外れなことしてるような気もするんですが、これしかできないのでとりあえず2.9.3の環境を作ってみます。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/365
366: デフォルトの名無しさん [sage] 2012/01/07(土) 22:42:42.75 >>365 やりかたは間違ってないとおもうので頑張って 今ちょっとクラスリファレンス見てたけど wxTextFileの部分で::Openで取れる引数が2.8から2.9で変わってるみたい wxWidgets 2.8 bool Open(wxMBConv& conv = wxConvUTF8) const bool Open(const wxString& strFile, wxMBConv& conv = wxConvUTF8) const wxWidgets 2.9 bool Open (const wxMBConv &conv=wxConvAuto()) const bool Open (const wxString &strFile, const wxMBConv &conv=wxConvAuto()) const OpenメソッドにwxConvAuto()をとれるのが新機能みたい。2.8にはないんだな、これが。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/366
367: デフォルトの名無しさん [sage] 2012/01/08(日) 00:03:23.41 >>366 わざわざ調べてくれてありがとうございます。 2.8にはない新機能だったんですね。 2.9.3にする励みになりました。 code::blocksで、コンパイル済みのものを入れるだけで1週間くらいかかった記憶があります。 コンパイルなど慣れないことをするので、今回も同じくらい時間かかるかもしれません。 でも2.9.3にする気にになりました。 ありがとうございました。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/367
368: デフォルトの名無しさん [sage] 2012/01/09(月) 00:02:24.31 Mingwをcドライブ直下にインストール PATHに、C:\MinGW\bin;C:\MinGW\mingw32\binを追加 c:\wxWigets-2.9.3を解凍 下記を参考にしました。 http://wiki.codeblocks.org/index.php?title=Compiling_wxWidgets_2.8.6_to_develop_Code::Blocks_%28MSW%29 オプションはcode::blocksで使用する場合のofficial supportと書いていたので下記とおりにしています。 コマンドプロンプトで下記実行 C:\Users\x>SET PATH=c:\mingw\bin;c:\mingw\mingw32\bin c:\wxWidgets-2.9.3\build\msw>mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=release clean c:\wxWidgets-2.9.3\build\msw>mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=release c:\wxWidgets-2.9.3\build\msw>mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=debug clean c:\wxWidgets-2.9.3\build\msw>mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=debug c:\wxWidgets-2.9.3\lib\gcc_dll>copy *.dll %windir% code::blocksの設定 settings>Enviroment>Enviromet variables WSWIN=C:\wxWidgets-2.9.3 settings>Grobal Variable Editor current varibale:wx base: ${WXWIN} include: ${WXWIN}\include lib: ${WXWIN}\lib 開発環境のコンパイルが初めてで、これでいいのか不安ですが、code::blocks上のプロジェクトのコンパイルが通りました。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/368
369: デフォルトの名無しさん [sage] 2012/01/09(月) 00:08:31.38 >>366 wxTextFile gfile(wxT("c:\\Shift_JIS.txt")); gfile.Open(wxConvAuto(wxFONTENCODING_CP932)); wxString test = gfile.GetFirstLine(); tfile.Open(file,wxConvAuto(wxFONTENCODING_CP932)); 二通りのやりかたでコンパイルが正常にできました。 また、sjisのファイルを読みこむこともできました。 ありがとうございました。 助かりました!!! http://mevius.5ch.net/test/read.cgi/tech/1270793556/369
370: 361 [] 2012/01/09(月) 23:07:32.49 ubuntuでの印刷の件ですが、使っているプリンタのドライバがよくなかった様で、ドライバを変更したらうまく行きました。 現状、wxTextCtrl内の行が長すぎると用紙からはみ出てしまうので、適切なところで改ページするようにしたいと思っていますので、またもう少し考えてみます。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/370
371: デフォルトの名無しさん [] 2012/01/11(水) 14:12:14.80 Linuxで開発したツールを知り合いの古い環境で動くかどうかテストしたら、libc.so.6が見当たらないっていうエラーが出てくるのですが、標準Cライブラリって動的リンクするしか方法はないのでしょうか? その場合、作った実行ファイルは古い環境では動かないのかな… 一応./configure のオプションは --with-gtk --enable-std_iostreams --enable-std_string --enable-controls --disable-shared --enable-unicode --with-libjpeg=builtin --with-libpng=builtin --with-regex=builtin --with-libtiff=builtin --with-zlib=builtin --with-expat=builtin にして、プログラムのコンパイルは g++ -o hoge.cpp `wx-config --cxxflags` `wx-config --libs` g++ -o hoge.cpp `wx-config --cxxflags` `wx-config --libs` -static-libgcc -static-libstdc++ g++ -o hoge.cpp `wx-config --cxxflags` `wx-config --static --libs` の3通りで実行ファイルを作ってそれぞれ試してもらったのですが、どれもlibc.so.6が利用できないというような意味のエラーが出てきます。 また g++ -static -o hoge.cpp `wx-config --cxxflags` `wx-config --libs` についても試しましたが、コンパイルエラーが大量に(主にライブラリが見当たらないといったようなエラー)が出てきます。 解決方法があるようでしたらご教授お願いします http://mevius.5ch.net/test/read.cgi/tech/1270793556/371
372: デフォルトの名無しさん [sage] 2012/01/11(水) 18:34:11.40 >>371 エスパーしてみるわ 一応忠告しとくけどwxWidgetsは「同じソースコードからWin, Linux, Macで使えるバイナリがコンパイルできる」のであって 「LInuxでコンパイルしたバイナリがWindowsで使える」というわけではない。 それができるのはJavaだけ 上の問題ではないとしたら Linuxでコンパイル→Linuxで使う、はライブラリが揃ってる限りいけるはず。 よって、既に生成している実行ファイルを友人の環境で「ldd <- 対象の実行ファイル ->」して 友人の環境で足りないライブラリを追加する もしくは友人の環境でwxWidgetsのソースをコンパイルして「wx-config」が正しく使えるようにする。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/372
373: 372 [sage] 2012/01/11(水) 18:39:33.34 というかlibc.so.6が足りないだけなら 実行ファイルと同じディレクトリにlibc.so.6を置いて実行すればいける気もする http://mevius.5ch.net/test/read.cgi/tech/1270793556/373
374: デフォルトの名無しさん [sage] 2012/01/11(水) 20:17:58.74 >>372 レスありがとうございます。 LinuxでコンパイルしたファイルはLinuxでは使えない、というのはわかっています。私も知り合いも環境はLinuxです。 極力ユーザが煩わしくないように、実行ファイル以外のファイルをユーザが別途インストールする必要が無いようにしたいのですが、不可能なのでしょうか?下記サイト http://up-cat.net/wxWidgets%A4%CE%A5%B9%A5%B9%A5%E1.html によると、Javaとは違いランタイムがいらないと書いてありますが限度があるのでしょうか 一応Windows版は同じソースで私の周りの環境では問題なく動いたのですが… libc.so.6を実行ファイルと同じフォルダにおけ、ということですが、共有ライブラリはlddコマンドで見れるような指定されているアドレスに置かなくても利用可能なのでしょうか? その方法で動作するかもしれないのでまた試してみます。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/374
375: デフォルトの名無しさん [sage] 2012/01/11(水) 21:04:03.63 >>374 > LinuxでコンパイルしたファイルはLinuxでは使えない、というのはわかっています。 いやわかってないだろ、どう見ても。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/375
376: デフォルトの名無しさん [sage] 2012/01/11(水) 21:12:12.37 >>375 すみません間違いました。 LinuxでコンパイルしたファイルはLinux以外では使えない、というのはわかっています。です http://mevius.5ch.net/test/read.cgi/tech/1270793556/376
377: デフォルトの名無しさん [sage] 2012/01/12(木) 00:36:38.89 >>376 自分の環境でコンパイルするときに正しく-staticオプションつけとけば、依存なしにバイナリを走らせることはできるはず 依存関係が出てるってことはstaticリンクビルドされてないのは間違いないので、そのアプリをちゃんとコンパイルしなおすべきかと http://mevius.5ch.net/test/read.cgi/tech/1270793556/377
378: デフォルトの名無しさん [sage] 2012/01/12(木) 10:46:49.97 >>377 レスありがとうございます。 -static-libcというコマンドは存在しないみたいで、どのようにオプションをつければlibcを静的リンクすればいいのか、自分なりに調べてみたのですがよく分からないのでできれば教えていただきたいです。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/378
379: デフォルトの名無しさん [sage] 2012/01/12(木) 12:10:12.07 >>378 リンク時に「-static」とつければいいです この意味がわからなければ gcc,CXXFLAGS,LDFLAGS ,MAKEFILE、リンカとかのキーワードでググってね http://mevius.5ch.net/test/read.cgi/tech/1270793556/379
380: デフォルトの名無しさん [sage] 2012/01/12(木) 15:19:19.22 >>379 g++ -static -o hoge.cpp `wx-config --cxxflags` `wx-config --libs` でコンパイルしていたのですが、下記のようなエラー(長いので前半部分だけです。ごめんなさい。)が出るのですが、./configureのオプションか何かが足りないのでしょうか… /usr/bin/ld: cannot find -lgdk_pixbuf-2.0 /usr/local/lib/libwx_baseu-2.8.a(baselib_dlunix.o): In function `wxDynamicLibrary::GetProgramHandle()': dlunix.cpp:(.text+0x13): warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /usr/lib/gcc/i686-linux-gnu/4.6.1/../../../i386-linux-gnu/libgio-2.0.a(libgio_2_0_la-glocalfileinfo.o): In function `lookup_gid_name': (.text+0x1a5c): warning: Using 'getgrgid_r' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /usr/local/lib/libwx_baseu-2.8.a(baselib_utilsunx.o): In function `wxGetUserHome(wxString const&)': utilsunx.cpp:(.text+0x14f5): warning: Using 'getpwnam' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking utilsunx.cpp:(.text+0x157a): warning: Using 'getpwuid' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /usr/lib/gcc/i686-linux-gnu/4.6.1/../../../i386-linux-gnu/libglib-2.0.a(gutils.o): In function `g_get_any_init_do': (.text+0xe2a): warning: Using 'setpwent' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /usr/lib/gcc/i686-linux-gnu/4.6.1/../../../i386-linux-gnu/libglib-2.0.a(gutils.o): In function `g_get_any_init_do': (.text+0xe40): warning: Using 'endpwent' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking http://mevius.5ch.net/test/read.cgi/tech/1270793556/380
381: デフォルトの名無しさん [sage] 2012/01/12(木) 18:33:37.54 >>380 どこまで甘えてんだよ 少しは自分で調べてください・・・少しはソースを見やがれ まず1行目 -lgdk_pixbuf-2.0 こいつの意味は「libgdk_pixbuf-2.0.a」という名前のライブラリをリンクするという意味 調べたらGNOMEプロジェクトの1つみたいだな http://ftp.gnome.org/pub/GNOME/sources/gdk-pixbuf/ まあこいつはyumでもapt-getでもなんでもいいからインストールすればいいだろ インストール後に /usr/lib 直下に上で書いたライブラリがあればコンパイルは通るはず 2行目より後は警告だから無視してもいいのかもしれないが、意味としては 「warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking」 「警告:コンパイルに使っとるglibcがシェアードライブラリじゃねーか、スタティックライブラリでリンクしろよクソ野郎」 という感じですか、間違ってたらすまん。頑張ってgdk-pixbufとwxとglibのライブラリを手に入れてください(もちろんスタティックライブラリで) http://mevius.5ch.net/test/read.cgi/tech/1270793556/381
382: デフォルトの名無しさん [sage] 2012/01/12(木) 18:42:52.46 あ、でも 「warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking」系のエラーは スタティックライブラリを使っても出ることがあるみたいだな。 つーことは一番の目標はgdk-pixbufをインストールすることか。簡単じゃん。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/382
383: デフォルトの名無しさん [sage] 2012/01/12(木) 19:03:01.17 ここまでおまえの自演 http://mevius.5ch.net/test/read.cgi/tech/1270793556/383
384: デフォルトの名無しさん [sage] 2012/01/12(木) 20:59:28.67 >>381 後から見返してみると私の状況説明がたりないため、自業自得ですが、 どこまで甘えてんだよと言われましても>>379までの-staticオプションをつけてコンパイルする、というのは>>371ですでにためしたと説明したつもりだったのですが、すみません。 一応こちらでもできる限りのことを調べて、ソースも読んでから書き込んだつもりですが、調べたことをかけてなかったら確かに意味がありませんね。 一応libgdk-pixbuf-2.0.0、libgdk-pixbuf-2.0.dvg はインストール済みで、wxWidgetsはもちろん入れています。glibやlibcもapt-cache searchを使って目についた関連がありそうなものをインストールしまくって、コンパイルした結果上記のエラーが出ています。 また、libc.aと言うファイルを5時間ほど探しつづけましたが見当たらず、また、下記のリンクの一番下の回答者の Check your Output mode settings, I believe you have linking set to "static". So the linker is looking for libgdk-pixbuf-2.0.a, which is probably not present. If you switch it to "shared" it should begin to work.. http://www.ultimatepp.org/forum/index.php?t=rview&goto=34857&th=6160 をみると、私の英語力ではlibgdk-pixbuf-2.0.0はstaticで出力できないと読めるため、八方塞がりとなり、ここで聞いた次第です。 気分を悪くしてしまってすみません。 >>383 自演ではないです。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/384
385: デフォルトの名無しさん [sage] 2012/01/12(木) 21:16:37.55 >>384 お前さんが知り合いの古い環境と同じ環境作って、 その環境でwxWidgetsとそのツールビルドすればええやん http://mevius.5ch.net/test/read.cgi/tech/1270793556/385
386: 381 [sage] 2012/01/12(木) 21:32:18.61 >>384 なんか思ったより込み入った問題みたいだな、キツイこと言ったかもしれないけど冗談だと思って聞き流してくだされ ちょっとググッたけどlibgdk-pixbuf-2.0.0のスタティックライブラリが生成できないのはバグみたいだぞ そして2番目のリンクではパッチとかも出てる http://askubuntu.com/questions/7990/what-can-i-do-about-missing-libgdk-pixbuf-2-0-la https://bugs.launchpad.net/ubuntu/+source/gtkglextmm/+bug/662572 で、対策としては gdk-pixbufのソースをとってきて ./configure --enable-static でいけるんではないかと思う(./configure -h したら一応あったけどこれは試した?) http://mevius.5ch.net/test/read.cgi/tech/1270793556/386
387: 381 [sage] 2012/01/12(木) 23:04:21.77 gdk-pixbuf-2.21.3にて ./configure --enable-static make make install できた。めんどくせえ。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/387
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 573 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.010s