青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

zyzx的小窩

C/C++,GUI,個人移動存儲,zyzx_lsl@163.com

 

(轉)Eclipse+WxWidgets開發環境搭建

2/24/2008

Eclipse+WxWidgets開發環境搭配

一直在尋找一個方便使用的C++GUI庫。今天終于把WxWidgets搞定。

大致的步驟是四步:
第一步,Eclipse及CDT的安裝
第二步,MinGW及編譯器的安裝配置
第三步,wxWidget的下載及編譯
第四步,Eclipse下有關wxWidget的配置

搞定wxWidget的配置、開始編寫像樣的windows程序

----Richard Lee 回味


看了網上的絕大部分文章,多半解決不了什么問題,還有可能誤入歧途,浪費更多的時間在前期這準備工作上。
所以,把這些配置的詳細步驟寫出來,希望能為后來者指點迷津,切莫再花時間再環境的搭建上了。
大致的步驟是四步:

第一步,Eclipse及CDT的安裝
第二步,MinGW及編譯器的安裝配置
第三步,wxWidget的下載及編譯
第四步,Eclipse下有關wxWidget的配置

經過這四步相信你就應該可以正常調試你的窗口程序了。
ok,我們開始。

第一步 Eclipse及CDT的安裝
這步其實沒啥說的,是最簡單的一步,用過eclipse及安裝過插件的人都應該很快搞定。
下載Eclipse最新版本,到我寫這篇文章時應該是3.2版,由 http://www.eclipse.org 下載,當然首先你要先下載JDK并正確安裝和注冊環境變量path(將你的jre的bin目錄路徑cut到path里),再啟動Eclipse 應該看到正常啟動畫面。
再到eclipse的網站上找到CDT,下載它,當然你應該選擇最近的版本下載。
下載后,進行解壓,并直接將解壓后得到的諸多文件及文件夾 Copy到Eclipse原目錄下。重新啟動Eclipse,這時再新建工程,你應該能見到 C/C++工程這項了。
到這里,你的CDT算是安裝成功了。

第二步 MinGW及編譯器的安裝配置
這部分主要是MinGW的下載及安裝配置。
由于單獨的Eclipse + CDT 是不能完成C++工程開發的,因為至少還缺少編譯器及基礎類庫,這里我們選擇MinGW工具,你需要到 http://www.MinGW.org 上去下載最新版本的MinGW。
到目前為止,最新版本是5.0.2版,你從它網站上直接download下來的應該是一個100多k的下載端軟件,還需要繼續下載全部內容,運行該下載文件后,按要求逐步推進,如果你是下載壓縮包,即只下載需要的部分,那么你選擇下載以下這幾部分
  • gcc-g++-3.4.2-20040916-1.tar.gz
  • gcc-core-3.4.2-20040916-1.tar.gz
  • mingw32-make-3.80.0-3.tar.gz
  • mingw-runtime-3.9.tar.gz
  • mingw32-make-3.80.0-3.tar.gz
  • binutils-2.15.91-20040904-1.tar.gz
  • w32api-3.6.tar.gz
下 載完成后,首先將他們拷貝到同一目錄下,并將它們解壓在同一目錄下面(例如我的mingw安裝目錄是c:\mingw,那么需要將這7個壓縮文件全部直接 在c:\mingw解壓)。然后設置環境變量確保在PATH環境變量中包含"d:\mingw\bin",最后可以打開DOS控制臺輸入gcc來驗證環境 變量是否設置正確。如果你的DOS控制臺顯示“no input file”等相關信息,那么你這一步也算完成了。
第三步,wxWidget的下載及編譯
wxWidget由 http://www.wxWidgets.org 下載并安裝,目錄自選。
安裝好后,直接進入你wxWidgets的安裝目錄 (舉例:c:\wxWidgets-2.8.0\build\msw)中,在這里執行命令
mingw32-make -f makefile.gcc BUILD=release SHARED=0 UNICODE=1 USE_ODBC=1

通過makefile.gcc 這個文件將整個項目編譯好,你會等很久大約半個多小時,編譯后目錄漲到800多M,因為一部分是.o的中間文件,
可以刪除。

編譯后你會在安裝目錄的(c:\wxWidgets-2.8.0\lib\gcc_lib)下看到一堆擴展名為 .a 的Archive文件(windows下的庫文件為.lib
linux下為 .a)和幾個目錄,類似mswu,mswud。
第三步完成。

第四步,Eclipse下有關wxWidgets的配置

首先啟動你的Eclipse并建立一個Managed C++ Project。創建完成后右鍵該項目并選擇"Properties"屬性對話框在其中選擇“C/C++ Build"選項。
在C/C++Build選項界面中,選擇“Configuration Settings”的"Tool Settings“。
在Tool Settings中選擇"GCC C++ Compiler"->"Preprocessor",
在Defined symbols列表中加入:__WXMSW__ (注意,兩側都是雙下劃線), __WXDEBUG___UNICODE(此處是單下劃線,
因為你的wxWidgets是用unicode編碼編譯的,所以此處一定要設置該宏,不然在編譯時會收到大量"undefined reference")。
接下來你需要選擇Directories項并添加include及lib目錄,在這里你需要添加
"C:\wxWidgets-2.8.0\lib\gcc_lib\mswud"
"C:\wxWidgets-2.8.0\lib\gcc_lib\mswu"
"C:\wxWidgets-2.8.0\include"
"C:\wxWidgets-2.8.0\contrib\include"
這四個目錄進Directories。
接下來在下面的 Miscellaneous 選項中的Other Flags中輸入以下這句

-c -Wundef -Wno-ctor-dtor-privacy -fno-strict-aliasing

接下來點選到 "GCC C++ Linker" 部分。在這部分,首先選擇"Libraries"并在右側的Libraries欄中按順序鍵入以下庫名:

wxmsw28ud_xrc,wxmsw28ud_richtext, wxbase28ud_net, wxmsw28ud_dbgrid, wxbase28ud_odbc,wxmsw28ud_media, wxmsw28ud_aui, wxmsw28ud_html, wxmsw28ud_adv,wxbase28ud_xml, wxmsw28ud_core, wxbase28ud, wxtiffd, wxjpegd, wxpngd,wxzlibd, wxregexud, wxexpatd, kernel32, user32, gdi32, comdlg32,winspool, winmm, shell32, comctl32, ole32, oleaut32, uuid, rpcrt4,advapi32, wsock32, odbc32

庫名全部加入后在下面一欄的"Library search path (-L)"中加入以下目錄

"C:/wxWidgets-2.8.0/lib/gcc_lib"

"C:/wxWidgets-2.8.0/lib"

添加完成后,選擇該部分中的"Miscellaneous"項,并在"Linker flags"中鍵入

-Wl,--subsystem,windows -mwindows

此時,點擊應用。

再切換到"Build Settings"標簽頁,勾掉"Build Command"中的,"Use default command"前的勾兒,并將命令 make 改為

mingw32-make -fmakefile

最終,點擊"OK"使設置生效。

到這里,你可以把wxwidgets中的samples拿來試一試了,把代碼Copy進你的工程,編譯運行一下,看看結果。

我想,你應該成功了。。。。

下面是第一個WxWidgets程序的代碼:

#include "wx/wx.h"
using namespace std;
class MyApp:public wxApp
{
??? public:
??? vrtual bool OnInit();
};
class MyFrame:public wxFrame
{
public:
??? MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size) ;

??? void OnQuit(wxCommandEvent& event);
??? void OnAbout(wxCommandEvent& event);

??? DECLARE_EVENT_TABLE()
};
enum
{
??? ID_Quit = 1,
??? ID_About,
};

BEGIN_EVENT_TABLE(MyFrame, wxFrame)
EVT_MENU(ID_Quit, MyFrame::OnQuit)
EVT_MENU(ID_About, MyFrame::OnAbout)
END_EVENT_TABLE()

IMPLEMENT_APP(MyApp)

bool MyApp::OnInit()
{
??? MyFrame *frame = new MyFrame( wxT("Hello World"), wxPoint(50,50), wxSize(450,340) ) ;
??? frame->Show(TRUE);
??? SetTopWindow(frame);
??? return TRUE;
}

MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size)
??? ??? ??? : wxFrame((wxFrame *)NULL, -1, title, pos, size)
{
??? wxMenu *menuFile = new wxMenu;

??? menuFile->Append( ID_About, wxT("&About...") ) ;
??? menuFile->AppendSeparator();
??? menuFile->Append( ID_Quit, wxT("E&xit") ) ;

??? wxMenuBar *menuBar = new wxMenuBar;
??? menuBar->Append( menuFile, wxT("&File") ) ;

??? SetMenuBar( menuBar ) ;

??? CreateStatusBar();
??? SetStatusText( wxT("Welcome to wxWindows!") ) ;
}

void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event))
{
??? Close(TRUE);
}

void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
{
??? wxMessageBox(wxT("This is a wxWindows Hello world sample"),
??? wxT("About Hello World"), wxOK | wxICON_INFORMATION, this) ;
}


注:
?? 編譯wxWigets時候mingw32-make -f makefile.gcc BUILD=release SHARED=0 UNICODE=1 USE_ODBC=1
???
SHARED = 0 表示 靜態編譯;SHARED =1 表示動態編譯
??? USE_ODBC=1 是默認的(可設置為0)??? :使用ODBC數據庫
??? USE_GL = 1 是默認的
(可設置為0)??? ?? :使用OpenGL庫
??? 詳細編譯選項見<wx/setup.h>

??? 如果采用動態編譯,
Defined symbols預定義?)中必須定義WXUSINGDLL,如果為Debug版本還得添加MinGW的運行時庫mingwm10.dll。

??? 上面提到的:如果編譯Debug版本,需要定義
__WXDEBUG__;Release版本則不需要。

下圖是:上面的代碼,在vista 下動態編譯的Debug 版本
TestWxWidgets.png

posted on 2009-04-27 16:54 zyzx 閱讀(2008) 評論(0)  編輯 收藏 引用 所屬分類: wxWidgets界面庫

導航

統計

常用鏈接

留言簿(1)

隨筆分類

隨筆檔案

常用鏈接

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美日韩精品免费| 欧美日韩国产一区| 尤物yw午夜国产精品视频明星| 久久久最新网址| 亚洲综合色网站| 精品动漫3d一区二区三区| 欧美国产精品日韩| 欧美精品成人一区二区在线观看| 一本色道久久综合| 午夜精品久久久久久| 亚洲第一精品久久忘忧草社区| 最新高清无码专区| 国产精品久久久免费| 美女脱光内衣内裤视频久久影院| 美女成人午夜| 亚洲欧美精品在线| 久久久久久久激情视频| 日韩视频在线免费| 欧美怡红院视频| 99xxxx成人网| 久久久久久久999| 中文av字幕一区| 久久亚洲二区| 亚洲免费在线视频| 欧美99久久| 久久国产福利国产秒拍| 欧美韩日精品| 老色鬼精品视频在线观看播放| 欧美日韩国产天堂| 久久伊人亚洲| 国产精品久久午夜| 亚洲精品视频免费| 亚洲国产另类久久精品| 亚洲欧美日韩另类精品一区二区三区| 亚洲黄网站黄| 久久国产精品电影| 欧美在线观看视频在线| 欧美日韩国产123区| 老牛国产精品一区的观看方式| 国产精品视频导航| 一本到12不卡视频在线dvd | 欧美影院午夜播放| 亚洲主播在线播放| 欧美日韩一区二区视频在线 | 欧美亚洲一区三区| 欧美日韩中文字幕综合视频 | 久热精品视频在线观看一区| 国产精品国产亚洲精品看不卡15| 欧美国产三级| 亚洲国产高清高潮精品美女| 久久aⅴ国产欧美74aaa| 久久精品一二三区| 国产真实久久| 久久久精品日韩| 免费不卡中文字幕视频| 国产一区二区高清不卡| 亚洲欧美日韩精品久久| 欧美中文字幕在线视频| 国产乱码精品一区二区三区忘忧草 | 黄色在线成人| 久久精品99无色码中文字幕| 欧美一区二区三区久久精品| 国产精品美女久久久久久久 | 国产精品九九久久久久久久| 日韩视频在线你懂得| 亚洲一二三四区| 欧美视频在线播放| 亚洲欧美日韩天堂一区二区| 亚洲男人的天堂在线aⅴ视频| 国产精品福利在线观看网址| 一区二区三区视频免费在线观看| 亚洲在线免费视频| 国产欧美午夜| 久久影音先锋| 亚洲精品一区在线观看| 午夜精品久久久久久久白皮肤| 国产欧美精品va在线观看| 欧美在线一级视频| 欧美激情精品久久久久久黑人| 亚洲精品一区二区三区不| 欧美理论在线| 午夜精品美女自拍福到在线| 浪潮色综合久久天堂| 亚洲人在线视频| 国产精品久久久久久久久久三级 | 国产亚洲一区二区三区在线播放| 久久漫画官网| 一区二区三区|亚洲午夜| 久久久999精品| 一本色道久久88综合亚洲精品ⅰ | 玖玖玖国产精品| 在线中文字幕一区| 欧美成人精品在线| 亚洲在线视频网站| 亚洲电影在线| 国产乱码精品1区2区3区| 免费久久99精品国产自| 亚洲综合精品自拍| 91久久精品国产| 久久青草久久| 西瓜成人精品人成网站| 亚洲片区在线| 国内精品久久久久久久影视蜜臀| 欧美精品一区二区在线观看 | 先锋影音久久| 亚洲美女视频在线免费观看| 久久久久久久一区二区| 亚洲天堂网在线观看| 亚洲国产精品第一区二区三区 | 欧美巨乳在线观看| 久久精品在线观看| 亚洲欧美国产制服动漫| 亚洲精品一区二区三区在线观看| 久久综合给合久久狠狠狠97色69| 亚洲综合色婷婷| 亚洲日本欧美在线| 在线观看一区| 精品动漫一区二区| 国产欧美日韩精品一区| 国产精品高潮久久| 欧美日韩一区二区在线播放| 欧美高清视频一区| 免费日本视频一区| 久久一区二区视频| 久久精品人人做人人综合| 亚洲综合999| 亚洲免费一在线| av成人天堂| 国产精品夫妻自拍| 欧美二区乱c少妇| 久久这里有精品视频| 欧美一区午夜精品| 欧美一区二区在线| 欧美一区二区日韩一区二区| 亚洲午夜高清视频| 亚洲无线视频| 亚洲综合第一| 欧美在线日韩| 久久精品亚洲一区二区| 久久久噜噜噜| 巨胸喷奶水www久久久免费动漫| 久久精品男女| 女人色偷偷aa久久天堂| 另类激情亚洲| 欧美福利视频一区| 欧美欧美在线| 国产精品久久毛片a| 国产亚洲人成网站在线观看| 国产视频欧美视频| 亚洲高清不卡在线观看| 亚洲精品五月天| 亚洲综合日韩| 久久久久九九九| 欧美激情精品久久久久久黑人| 亚洲国产精品久久久久秋霞蜜臀| 亚洲精品一区在线| 亚洲专区国产精品| 久久亚洲国产精品一区二区 | 久久免费国产| 欧美日本一道本在线视频| 国产精品久久久久久久午夜| 国产日韩欧美在线视频观看| 精品动漫3d一区二区三区免费| 亚洲国产精品精华液2区45| 亚洲麻豆一区| 性欧美xxxx大乳国产app| 免费成人高清| 99国内精品久久| 久久精品视频在线看| 欧美激情一二区| 国产精品素人视频| 亚洲激情第一区| 亚洲午夜性刺激影院| 久久久久久久综合狠狠综合| 亚洲观看高清完整版在线观看| 一区二区三区免费网站| 久久久久久久综合| 欧美视频你懂的| **网站欧美大片在线观看| 一本色道久久加勒比88综合| 久久久久久国产精品一区| 亚洲精品久久久一区二区三区| 香蕉久久夜色精品国产| 欧美精品一卡二卡| 红桃视频亚洲| 亚洲女性喷水在线观看一区| 欧美黄色免费网站| 久久国产精品99国产| 欧美日韩亚洲精品内裤| 在线观看国产精品网站| 午夜精品久久久久久久白皮肤| 亚洲国产第一页| 久久天堂av综合合色| 国产偷国产偷亚洲高清97cao| 一本久道久久久| 亚洲福利视频一区| 久久这里有精品15一区二区三区| 国产日韩精品一区二区三区在线 | 永久免费视频成人| 久久精品72免费观看|