wxWidgets程式設計起步

2021-06-22 01:32:54 字數 2338 閱讀 4041

安裝wxwidgets遭遇的兩大關卡」(簡稱「前文」)。

先推薦一下這兩天找到的學習材料。

部落格中有乙個系列教程,貌似作者沒有寫完,見

《跟我學wxwidgets開發》系列教程。

要看書,就

《使用wxwidgets進行跨平台程式開發》。我給的鏈結中,包括中書中的原始碼。這本書,是

《cross platform gui programming with wxwidget》的中譯本,譯本中沒有附錄部分,我看了英文版的,可讀性還不錯。

通過瀏覽書,發現了前文中說過的問題。看書、實踐交叉著來,學習效率自然高。

從最全的資料,在wxwiki——

再次感受開源的力量。

前文通過編譯wxwidgets2.8.7,搞清楚了基本的「路數」。看了推出幾個月的3.0.0版,看給出的改進不少,決定解除安裝昨天做的工作,再來一遍。

放棄wxpack還是有些不甘。想著我的大一學生,在他們自己的本本上,如果安裝wxpack就能用,那該是更好的事。他們首先要體驗的,是用wxwidgets做出程式來,而不是在編譯wxwidgets中遇上一堆問題,然後就沒有然後了。

但是用code::blocks在編出程式時,卻出了問題。

先在code::blocks中建立wxwidgets project,用嚮導整出個程式來玩,這是剛開始能做的事。但是,code::blocks12.11中,最高版本只能建立wxwidgets2.8.x版的應用,編譯時,總找不到libwxmsw28ud.a等檔案。難怪,這裡只有libwxmsw30ud.a。該在code::blocks中能夠修改設定,不想找了。

建立,wxwidgets3.0.0中的應用,成了需要做的事情。實際上,要執行書中和網路中找到的案例,不能靠嚮導。

建乙個空專案,如圖1:

我建的專案,名稱為minimal。將專案上的原始檔minimal.cpp拷貝到專案所在資料夾中,在codeblocks中專案名上點右鍵,選add file...將這個檔案加入專案。檔案mondrian.xpm是圖示檔案,也一併拷貝過去(不做,後面也需要補上)。另外,在檔案minimal.cpp上點右鍵,選properties...,在對話方塊中將檔案的唯讀屬性去掉。加入原始檔後的介面如圖2所示:

如果這時編譯,會有一堆錯誤,首先面對的問題,編譯時找不到需要的標頭檔案。

選選單setting->global variables...,保證配置類似圖3(根據你安裝wxwidgets的目錄):

選選單project->build options...,在選項卡search directories中,設定compiler,如圖4所示:

這時再編譯,將不再有語法錯誤,但一大堆問題,來自於連線環節,問題是找不到庫檔案。

選選單project->build options...,在選項卡linker settings中,加入x:\wxwidgets-3.0.0\lib\gcc_dll資料夾中的所有.a檔案,如圖5所示:

然後再編譯,成功!

但是執行程式時,會出現錯誤,如圖6:

按提示來,在x:\wxwidgets-3.0.0\lib\gcc_dll中找到那wxmsw30ud_gcc_custom.dll檔案,將其拷貝到專案所在資料夾,看到了期盼的視窗,如圖7所示。

先這樣做起來,越學越多,知識就這樣積累起來了。

***************== 迂者 賀利堅 csdn部落格專欄***************==

|==it學子成長指導專欄

專欄文章的分類目錄(不定期更新)

==||==

賀利堅課程教學鏈結(分課程年級)

==||== 我寫的書——《逆襲大學——傳給it學子的正能量》    ==|

***** 為it菜鳥起飛鋪跑道,和學生一起享受快樂和激情的大學 *****

wxWidgets 國際化程式設計

一 編譯工具 工欲善其事 必先利其器,想要實現國際化程式設計,必須具備gettext軟體,可以去http sourceforge.net projects gettext 二 生成mo檔案 此工作在wxwidgets提供的internat例子中都已經詳細說明,下面簡單敘述一下 先建立目錄,目錄名要用...

wxWidgets程式設計注意事項

1.在類中定義物件 wxauimanager m mgr 編譯無法通過,輸出類似錯誤 demo demo.o in function myframe myframe demo.cpp text 0x6491 undefined reference to wxauimanager uninit dem...

起步socket程式設計 C

用c 來編寫socket程式,總的來說還是比較方便的,微軟幫忙我們做了很多任務作。socket程式設計應用很多,相關資料網上也很多,因為工作需要,前一段時間也用c 編寫乙個socket程式,在這裡寫一下也算乙個記錄。在伺服器端建立乙個socket,使用bind方法繫結所指定的介面使socket與乙個...