自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

詳解 Ubuntu 10.10下 Qt 與 wxWidgets 編譯

移動開發(fā)
Qt的安裝比較方便,在官方網(wǎng)站上下載Qt Creator2.1.0(有.bin格式的二進制安裝包)和Qt-everywhere-opensource-src-4.7.3的源碼包,對于IDE,可以直接./*.bin,就會彈出安裝窗體,和Windows一樣安裝即可。

Ubuntu 10.10下QtwxWidgets 編譯十本文介紹的內(nèi)容,不多說,下來看內(nèi)容。近期由于項目需要,要調(diào)研GUI庫,經(jīng)查閱資料,發(fā)現(xiàn)相對比較出色的就是QtwxWidgets這兩個了,因此這里選擇對二者安裝試用。源碼安裝的技巧和習慣可以參考我的文章Linux下源碼安裝的經(jīng)驗總結(jié)。

Qt的安裝比較方便,在官方網(wǎng)站上下載Qt Creator2.1.0(有.bin格式的二進制安裝包)和Qt-everywhere-opensource-src-4.7.3的源碼包,對于IDE,可以直接./*.bin,就會彈出安裝窗體,和Windows一樣安裝即可。完成后解壓縮源碼包tar vxf *.tar.gz即可,接下來輸入./configure,程序開始檢查安裝環(huán)境,如果提示缺少g++,請參見我的另一篇文章Ubuntu10.10下安裝gcc-4.5.3。

然后又會提示libX11未找到,這個比較麻煩,要裝蠻久的,在這里列出需要的東西,libX11-6.2.1、libXau-1.0.6、libXext-1.0.4、libXrender-0.9.4、libXtrans-0.1、renderproto-0.9.3、xextensions-1.0.1、xextproto-7.0.3、xproto-7.0.13以及xtrans-1.2.6,這些東西都可以在http://freedesktop.org/Software/xlibs這個網(wǎng)站上下載到,值得一提的是,在GTK+的安裝過程中,雖然已安裝libX11但仍提示libX11 not found的解決辦法就是安裝libXext,這個問題在安裝gtk時困擾了我好久,貼出來作為前車之鑒。

安裝X11的過程中,libX11的make時會出現(xiàn)一個錯誤提示XK_Ocaron或者是XK_Ccedillaabovedot等未定義,根據(jù)錯誤提示查看src下的KeyBond.c文件,出錯部分代碼如下:

  1. view plaincopy to clipboardprint?  
  2. case 0x16: /* Caucasus, Inupiak, Guarani */    
  3.         if (sym == XK_ocaron || sym == XK_Ocaron) {     
  4.         *upper = XK_Ocaron;     
  5.         *lower = XK_ocaron;     
  6.         }     
  7.         else if (sym >= XK_Ccedillaabovedot && sym <= XK_Obarred)     
  8.         *lower += (XK_ccedillaabovedot - XK_Ccedillaabovedot);     
  9.         else if (sym >= XK_ccedillaabovedot && sym <= XK_obarred)     
  10.         *upper -= (XK_ccedillaabovedot - XK_Ccedillaabovedot);     
  11.     else if (sym == XK_schwa || sym == XK_SCHWA) {     
  12.         *lower = XK_schwa;     
  13.         *upper = XK_SCHWA;     
  14.     }     
  15.     else if (sym == XK_lbelowdot || sym == XK_Lbelowdot) {     
  16.         *lower = XK_lbelowdot;     
  17.         *upper = XK_Lbelowdot;     
  18.     }     
  19.     else if (sym == XK_lstrokebelowdot || sym == XK_Lstrokebelowdot) {     
  20.         *lower = XK_lstrokebelowdot;     
  21.         *upper = XK_Lstrokebelowdot;     
  22.     }     
  23.     else if (sym == XK_gtilde || sym == XK_Gtilde) {     
  24.         *lower = XK_gtilde;     
  25.         *upper = XK_Gtilde;     
  26.     }     
  27.         break;    
  28. case 0x16: /* Caucasus, Inupiak, Guarani */  
  29.         if (sym == XK_ocaron || sym == XK_Ocaron) {  
  30.      *upper = XK_Ocaron;  
  31.      *lower = XK_ocaron;  
  32.         }  
  33.         else if (sym >= XK_Ccedillaabovedot && sym <= XK_Obarred)  
  34.      *lower += (XK_ccedillaabovedot - XK_Ccedillaabovedot);  
  35.         else if (sym >= XK_ccedillaabovedot && sym <= XK_obarred)  
  36.      *upper -= (XK_ccedillaabovedot - XK_Ccedillaabovedot);  
  37.  else if (sym == XK_schwa || sym == XK_SCHWA) {  
  38.      *lower = XK_schwa;  
  39.      *upper = XK_SCHWA;  
  40.  }  
  41.  else if (sym == XK_lbelowdot || sym == XK_Lbelowdot) {  
  42.      *lower = XK_lbelowdot;  
  43.      *upper = XK_Lbelowdot;  
  44.  }  
  45.  else if (sym == XK_lstrokebelowdot || sym == XK_Lstrokebelowdot) {  
  46.      *lower = XK_lstrokebelowdot;  
  47.      *upper = XK_Lstrokebelowdot;  
  48.  }  
  49.  else if (sym == XK_gtilde || sym == XK_Gtilde) {  
  50.      *lower = XK_gtilde;  
  51.      *upper = XK_Gtilde;  
  52.  }  
  53.         break; 

對于這個不知道什么語言的鍵盤說明,可以直接將case下代碼全部/**/忽略掉,只留下個break,不會影響功能,修改后再編譯就可以成功了。另外,建議將這些庫文件全部安裝在/usr/X11R6目錄下,方便統(tǒng)一管理,統(tǒng)一使用,可以減少不少麻煩。

X11安裝完后,還會提示Cairo無法找到,誒,只好接著找咯!下載后安裝,如果有缺失提示就裝上,比較簡單,略過。全部安裝后,就可以正確的configure了,接下來的編譯過程需要3個小時左右,要做好心理準備。安裝完成后,在Qt Creator中設置qmake路徑,具體方法如圖:

Ubuntu 10.10下 Qt 與 wxWidgets 編譯

然后就可以編寫個小程序試試啦,界面不錯,比較簡潔。計劃過段時間放出QtwxWidgets的對比評測,到時再詳細截圖。

有了Qt所依賴的這些庫,wxWidgets的安裝就不要什么東西了,在configure時加選項--with-x11就可以了。不過wxX11的成熟度還不夠,在我的虛擬機上編譯都是可以的,但是運行時居然沒有合適的顯卡驅(qū)動,界面是慘不忍睹?。?!運行dialog例程時,還有錯誤如下:

  1. X Error of failed request:  BadWindow (invalid Window parameter)  
  2. Major opcode of failed request:  10 (X_UnmapWindow)  
  3. Resource id in failed request:  0x0  
  4. Serial number of failed request:  388  
  5. Current serial number in output stream:  389 

經(jīng)過查閱資料,也是由于顯卡驅(qū)動沒裝的緣故。其實我是挺傾向于wxWidgets的,但是這樣的不成熟,我怎么用啊!相對來說,wxgtk則成熟了不少,不過gtk+的安裝太麻煩了,我裝了快兩個星期了,現(xiàn)在卡在gtk在configure時提示checking for XOpenDisplay... no libX11,快崩潰了,誰有解決的經(jīng)驗望能指點一二,不勝感激。

附上Windows下使用wxWidgets的簡要使用說明:

安裝wxWidgets源碼包后要先編譯,打開vs2008命令行到wxWidgets-2.9.1\build\msw下,輸入

  1. nmake /f makefile.vc BUILD=debug SHARED=1 MONOLITHIC=0 UNICODE=1 

以及

  1. nmake /f makefile.vc BUILD=release SHARED=1 MONOLITHIC=0 UNICODE=1 

其中,BUILD選項配置編譯類型,debug或release模式;SHARED為配置生成庫的類型,0為靜態(tài)庫,1為動態(tài)庫;MONOLITHIC選項配置構(gòu)建單一庫1還是多個組件庫0,使用單一構(gòu)建,項目的設置和開發(fā)會更加簡單,同時使用DLL構(gòu)建的話,只需分發(fā)一個DLL文件,如果使用非單一構(gòu)建(multilib),會構(gòu)建出多個不同的庫,這樣可以避免將整個wxWidgets的基本代碼鏈接到主程序,就可以去掉不需要的庫;UNICODE的編碼方式。

編譯后會出100多M漲到近2G。

再用Code::Block創(chuàng)建wxWidgets工程,會提示選擇主目錄,但是貌似CB自動選擇的include和library路徑都錯了,進入后修改,右鍵"Build options",第一頁#defines下加__WXMSW__(linux下加__UNIX__),第二頁Link libraries下去掉wxmsw29u,添加wxmsw29ud_core.lib、wxbase29ud.lib、wxtiffd.lib、wxjpegd.lib、wxpngd.lib、wxzlibd.lib、wxregexud.lib、wxexpatd.lib。第三頁將三項都改成應該指向的目錄,這樣配置就可以輕松的在Windows下使用wxWidgets了,界面也蠻不錯的,就是缺點華麗,沒Qt好看。

本文來自:http://blog.csdn.net/JuanA1/archive/2011/05/25/6446175.aspx

小結(jié):關(guān)于詳解 Ubuntu 10.10下QtwxWidgets 編譯的內(nèi)容介紹完了,希望本文對你有所幫助!

責任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-07-05 09:35:52

Ubuntu Qt Mysql

2011-09-07 09:47:35

UbuntuAndroid

2011-07-01 10:23:41

Ubuntu Qt Creator

2011-07-02 14:11:46

Qt Gtk Ubuntu

2011-07-05 10:55:14

Linux Qt 移植

2011-07-05 11:10:23

Linux Qt 移植

2011-06-21 17:01:44

Qt 靜態(tài) 編譯

2023-03-09 11:02:40

linux編譯源碼

2011-07-01 13:15:50

Ubuntu QT Eembedded

2011-09-14 15:04:47

Android 2.2

2011-06-24 13:27:13

Ubuntu QT SDK

2011-06-21 17:23:40

QT 編譯

2011-03-11 12:57:36

UBUNTU10.10安裝LAMP

2011-07-01 13:31:29

Ubuntu Linux QVFB

2011-08-29 15:52:12

2012-03-02 10:42:07

Ubuntu升級

2012-03-12 17:27:14

Ubuntu10.10正式結(jié)束

2010-11-18 09:40:08

2011-08-30 15:53:07

Ubuntussh

2011-09-02 16:38:26

UbuntuNTFS
點贊
收藏

51CTO技術(shù)棧公眾號