• <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>

            zyzx的小窩

            C/C++,GUI,個(gè)人移動(dòng)存儲(chǔ),zyzx_lsl@163.com

             

            wxWidgets工程配置

            // * create by zyzx
            // * 2009-3-11
            // * 轉(zhuǎn)載請(qǐng)注明來(lái)源:http://m.shnenglu.com/zyzx

                    wx庫(kù)編譯相對(duì)簡(jiǎn)單些,配置起來(lái)說(shuō)難也不算很難,但比較麻煩。有比較多的地方需要注意。在其wiki上面有比較多的篇幅講解如何使用vs來(lái)配置工程,但熟悉起來(lái)還是需要一段時(shí)間。
                    wiki上的配置向?qū)В?a >http://wiki.wxwidgets.org/Guides_%26_Tutorials

                    依照上一篇編譯說(shuō)明將wx庫(kù)編譯好了,建立了目錄庫(kù)。
            我們?cè)僭O(shè)置如下編譯環(huán)境。


            Win32平臺(tái)配置
            VC配置屬性:
               常規(guī):
                  MFC的使用:使用標(biāo)準(zhǔn)Windows庫(kù)
              C/C++:
                  常規(guī):附加包含目錄:..\wxlib\include ..\wxlib\debug\mswud
                  預(yù)處理器:WIN32;_DEBUG;__WXMSW__;__WXDEBUG__;_WINDOWS;WXUSINGDLL
                  代碼生成:運(yùn)行時(shí)庫(kù):MDD
              鏈接器:
                  常規(guī):附加庫(kù)目錄:..\wxlib\debug
                   輸入:wxbase28ud.lib wxmsw28ud_core.lib wxmsw28ud_xrc.lib wxbase28ud_xml.lib wxmsw28ud_adv.lib wxmsw28ud_aui.lib wxmsw28ud_html.lib rpcrt4.lib winmm.lib comctl32.lib advapi32.lib oleacc.lib

                   系統(tǒng):子系統(tǒng):未設(shè)置、Windows (/SUBSYSTEM:WINDOWS)
                   高級(jí):入口點(diǎn):無(wú)
                   
                   WXUSINGDLL標(biāo)簽表明wx是用動(dòng)態(tài)庫(kù)的方式引入。MFC庫(kù)是否引入,看個(gè)人的需求,基本上使用wx是不再用MFC的。
            附加庫(kù)中嘗試時(shí)可以將所有的..\wxlib\*.lib加入進(jìn)來(lái),然后分別根據(jù)使用情況分別剔除某些lib文件。
            關(guān)于運(yùn)行時(shí)庫(kù),最好要和編譯wx庫(kù)保持一致(這里默認(rèn)MDD),不然可能出現(xiàn)編譯錯(cuò)誤。
            最后運(yùn)行成果時(shí),別忘了把*.dll文件也拷貝到可執(zhí)行程序文件夾中去。


            WinCE平臺(tái)設(shè)置
            VC配置屬性:
                常規(guī):
                   MFC的使用:使用標(biāo)準(zhǔn)Windows庫(kù)
              C/C++:
                   常規(guī):附加包含目錄:..\wxCELib\include ..\wxCELib\debug\winced
                   預(yù)處理器定義:_DEBUG;_WIN32_WCE=$(CEVER);UNDER_CE;$(PLATFORMDEFINES);
                                                WINCE;DEBUG;_WINDOWS;$(ARCHFAM);$(_ARCHFAM_);
                                                _UNICODE;UNICODE;__WXWINCE__;NOPCH;wxNO_EXCEPTIONS
                  代碼生成:MTD
              鏈接器:
                   附加庫(kù)目錄:..\wxCELib\debug
                   輸入:wx_mono.lib wx_wxexpat.lib wx_wxjpeg.lib wx_wxpng.lib wx_wxzlib.lib wcelibcex.lib
                   命令行:附加選項(xiàng): /subsystem:windowsce,4.20 /machine:ARM /ARMPADCODE
                   系統(tǒng):子系統(tǒng):未設(shè)置
                   高級(jí):入口點(diǎn):無(wú)

            wcelibcex.lib是補(bǔ)全部分WinCE上SDK缺失的部分函數(shù)庫(kù),搜索wcelibcex(下載)字樣,即可找到相應(yīng)的1.0源代碼,編譯后添加到我們自己的開發(fā)庫(kù)目錄下。
            編程時(shí)注意在WinCE上很多窗口特性,并不完全與Win32環(huán)境相同。包括窗口的組織結(jié)構(gòu)都有細(xì)微的差別。
            并不是所有wx庫(kù)窗口組件都兼容到WinCE,但基礎(chǔ)常用的組件還是沒有多大的問(wèn)題的。


            好了,有了這些,就可以嘗試最經(jīng)典的wx程序了。

             1#include "wx/wx.h"
             2using namespace std;
             3class MyApp:public wxApp
             4{
             5    public:
             6    vrtual bool OnInit();
             7}
            ;
             8class MyFrame:public wxFrame
             9{
            10public:
            11    MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size) ;
            12
            13    void OnQuit(wxCommandEvent& event);
            14    void OnAbout(wxCommandEvent& event);
            15
            16    DECLARE_EVENT_TABLE()
            17}
            ;
            18enum
            19{
            20    ID_Quit = 1,
            21    ID_About,
            22}
            ;
            23
            24BEGIN_EVENT_TABLE(MyFrame, wxFrame)
            25EVT_MENU(ID_Quit, MyFrame::OnQuit)
            26EVT_MENU(ID_About, MyFrame::OnAbout)
            27END_EVENT_TABLE()
            28
            29IMPLEMENT_APP(MyApp)
            30
            31bool MyApp::OnInit()
            32{
            33    MyFrame *frame = new MyFrame( wxT("Hello World"), wxPoint(50,50), wxSize(450,340) ) ;
            34    frame->Show(TRUE);
            35    SetTopWindow(frame);
            36    return TRUE;
            37}

            38
            39MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size)
            40            : wxFrame((wxFrame *)NULL, -1, title, pos, size)
            41{
            42#ifndef _WIN32_WCE
            43    wxMenu *menuFile = new wxMenu;
            44
            45    menuFile->Append( ID_About, wxT("&About") ) ;
            46    menuFile->AppendSeparator();
            47    menuFile->Append( ID_Quit, wxT("E&xit") ) ;
            48
            49    wxMenuBar *menuBar = new wxMenuBar;
            50    menuBar->Append( menuFile, wxT("&File") ) ;
            51
            52    SetMenuBar( menuBar ) ;
            53
            54    CreateStatusBar();
            55    SetStatusText( wxT("Welcome to wxWindows!") ) ;
            56#enif
            57}

            58
            59void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event))
            60{
            61    Close(TRUE);
            62}

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


                       很遺憾wxMenuBar在WinCE上運(yùn)行是有些問(wèn)題的,CreateStatusBar()也是不能再WinCE上運(yùn)行,或許不久會(huì)解決這些問(wèn)題。不過(guò),基礎(chǔ)的wxMenu、wxWindow卻是可以的,有這些組建復(fù)雜的界面也不難。

                    呵呵,,如果通過(guò)編譯并正確運(yùn)行,,。。。^V^,,,就OK了。。。

            posted on 2009-03-11 17:42 zyzx 閱讀(5993) 評(píng)論(2)  編輯 收藏 引用 所屬分類: wxWidgets界面庫(kù)

            評(píng)論

            # re: wxWidgets工程配置 2009-10-23 09:24 zh

            我的是在:Win32平臺(tái)配置的,是按照你的配置一步步的跟著來(lái)的,但是出現(xiàn)了錯(cuò)誤:錯(cuò)誤如下:

            正在鏈接...
            LINK : error LNK2001: 無(wú)法解析的外部符號(hào) _無(wú)
            helloworld.obj : error LNK2019: 無(wú)法解析的外部符號(hào) "__declspec(dllimport) public: __thiscall wxString::wxString(char const *)" (__imp_??0wxString@@QAE@PBD@Z) ,該符號(hào)在函數(shù) "public: bool __thiscall HelloWorld::Create(class wxWindow *,int,class wxString const &,class wxPoint const &,class wxSize const &,long)" (?Create@HelloWorld@@QAE_NPAVwxWindow@@HABVwxString@@ABVwxPoint@@ABVwxSize@@J@Z) 中被引用
            helloworld.obj : error LNK2001: 無(wú)法解析的外部符號(hào) "__declspec(dllimport) char const * const wxFrameNameStr" (__imp_?wxFrameNameStr@@3QBDB)
            helloworld.obj : error LNK2001: 無(wú)法解析的外部符號(hào) "__declspec(dllimport) char const * const wxStatusBarNameStr" (__imp_?wxStatusBarNameStr@@3QBDB)
            helloworld.obj : error LNK2001: 無(wú)法解析的外部符號(hào) "__declspec(dllimport) char const * const wxToolBarNameStr" (__imp_?wxToolBarNameStr@@3QBDB)
            helloworld.obj : error LNK2001: 無(wú)法解析的外部符號(hào) "__declspec(dllimport) char const * const wxComboBoxNameStr" (__imp_?wxComboBoxNameStr@@3QBDB)
            helloworld.obj : error LNK2001: 無(wú)法解析的外部符號(hào) "__declspec(dllimport) char const * const wxButtonNameStr" (__imp_?wxButtonNameStr@@3QBDB)
            helloworld.obj : error LNK2001: 無(wú)法解析的外部符號(hào) "__declspec(dllimport) char const * const wxTextCtrlNameStr" (__imp_?wxTextCtrlNameStr@@3QBDB)
            helloworld.obj : error LNK2001: 無(wú)法解析的外部符號(hào) "__declspec(dllimport) char const * const wxStaticTextNameStr" (__imp_?wxStaticTextNameStr@@3QBDB)
            helloworld.obj : error LNK2001: 無(wú)法解析的外部符號(hào) "__declspec(dllimport) char const * const wxEmptyString" (__imp_?wxEmptyString@@3PBDB)
            helloworld.obj : error LNK2019: 無(wú)法解析的外部符號(hào) "__declspec(dllimport) public: __thiscall wxClassInfo::wxClassInfo(char const *,class wxClassInfo const *,class wxClassInfo const *,int,class wxObject * (__cdecl*)(void))" (__imp_??0wxClassInfo@@QAE@PBDPBV0@1HP6APAVwxObject@@XZ@Z) ,該符號(hào)在函數(shù) _$E1 中被引用
            project1app.obj : error LNK2001: 無(wú)法解析的外部符號(hào) "__declspec(dllimport) public: __thiscall wxClassInfo::wxClassInfo(char const *,class wxClassInfo const *,class wxClassInfo const *,int,class wxObject * (__cdecl*)(void))" (__imp_??0wxClassInfo@@QAE@PBDPBV0@1HP6APAVwxObject@@XZ@Z)
            project1app.obj : error LNK2001: 無(wú)法解析的外部符號(hào) "public: virtual void __thiscall wxAppConsole::OnAssert(char const *,int,char const *,char const *)" (?OnAssert@wxAppConsole@@UAEXPBDH00@Z)
            project1app.obj : error LNK2001: 無(wú)法解析的外部符號(hào) "public: virtual void __thiscall wxAppConsole::OnAssertFailure(char const *,int,char const *,char const *,char const *)" (?OnAssertFailure@wxAppConsole@@UAEXPBDH000@Z)
            project1app.obj : error LNK2001: 無(wú)法解析的外部符號(hào) "public: virtual bool __thiscall wxApp::Initialize(int &,char * *)" (?Initialize@wxApp@@UAE_NAAHPAPAD@Z)
            Debug/helloworld.exe : fatal error LNK1120: 14 個(gè)無(wú)法解析的外部命令

            生成日志保存在“file://e:\jiemian\helloworld\Debug\BuildLog.htm”中
            helloworld - 16 錯(cuò)誤,0 警告
            請(qǐng)問(wèn)是什么原因,能否幫我解答,先謝謝了  回復(fù)  更多評(píng)論   

            # re: wxWidgets工程配置 2009-10-25 01:05 zyzx

            你的工程應(yīng)該是動(dòng)態(tài)編譯的,檢查下導(dǎo)入庫(kù)是否完整。重要的一條預(yù)處理選項(xiàng)WXUSINGDLL,這個(gè)選項(xiàng)動(dòng)態(tài)編譯必須的。  回復(fù)  更多評(píng)論   

            導(dǎo)航

            統(tǒng)計(jì)

            常用鏈接

            留言簿(1)

            隨筆分類

            隨筆檔案

            常用鏈接

            搜索

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            久久强奷乱码老熟女| 最新久久免费视频| 91久久精品无码一区二区毛片| 亚洲中文字幕无码一久久区| 99久久人妻无码精品系列| 青青青国产精品国产精品久久久久| 激情五月综合综合久久69| 漂亮人妻被中出中文字幕久久 | 久久精品国产亚洲7777| 伊人久久大香线蕉综合影院首页| 久久久精品一区二区三区| 麻豆久久久9性大片| 婷婷综合久久狠狠色99h| 一本久久综合亚洲鲁鲁五月天| 国产精品免费福利久久| 久久久久久精品免费看SSS| 久久香蕉综合色一综合色88| 无码人妻少妇久久中文字幕蜜桃 | 波多野结衣久久一区二区| 99精品久久精品一区二区| 久久精品国产精品亚洲精品| 久久久亚洲精品蜜桃臀| 2021国产成人精品久久| www性久久久com| 香蕉久久av一区二区三区| 久久综合亚洲色HEZYO国产| 色偷偷888欧美精品久久久| 久久男人Av资源网站无码软件 | 久久人人爽人人爽人人片AV东京热| 国产巨作麻豆欧美亚洲综合久久 | 久久人与动人物a级毛片| 久久久久久青草大香综合精品| 欧美精品一本久久男人的天堂| 亚洲成色WWW久久网站| 99久久99久久精品国产片果冻| 久久精品国产福利国产琪琪 | 欧美日韩精品久久免费| 97香蕉久久夜色精品国产 | 丁香五月综合久久激情| 精品久久久久久| 久久国产成人午夜aⅴ影院 |