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

zyzx的小窩

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

 

wxWidgets工程配置

// * create by zyzx
// * 2009-3-11
// * 轉載請注明來源:http://www.shnenglu.com/zyzx

        wx庫編譯相對簡單些,配置起來說難也不算很難,但比較麻煩。有比較多的地方需要注意。在其wiki上面有比較多的篇幅講解如何使用vs來配置工程,但熟悉起來還是需要一段時間。
        wiki上的配置向導:http://wiki.wxwidgets.org/Guides_%26_Tutorials

        依照上一篇編譯說明將wx庫編譯好了,建立了目錄庫。
我們再設置如下編譯環境。


Win32平臺配置
VC配置屬性:
   常規:
      MFC的使用:使用標準Windows庫
  C/C++:
      常規:附加包含目錄:..\wxlib\include ..\wxlib\debug\mswud
      預處理器:WIN32;_DEBUG;__WXMSW__;__WXDEBUG__;_WINDOWS;WXUSINGDLL
      代碼生成:運行時庫:MDD
  鏈接器:
      常規:附加庫目錄:..\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

       系統:子系統:未設置、Windows (/SUBSYSTEM:WINDOWS)
       高級:入口點:無
       
       WXUSINGDLL標簽表明wx是用動態庫的方式引入。MFC庫是否引入,看個人的需求,基本上使用wx是不再用MFC的。
附加庫中嘗試時可以將所有的..\wxlib\*.lib加入進來,然后分別根據使用情況分別剔除某些lib文件。
關于運行時庫,最好要和編譯wx庫保持一致(這里默認MDD),不然可能出現編譯錯誤。
最后運行成果時,別忘了把*.dll文件也拷貝到可執行程序文件夾中去。


WinCE平臺設置
VC配置屬性:
    常規:
       MFC的使用:使用標準Windows庫
  C/C++:
       常規:附加包含目錄:..\wxCELib\include ..\wxCELib\debug\winced
       預處理器定義:_DEBUG;_WIN32_WCE=$(CEVER);UNDER_CE;$(PLATFORMDEFINES);
                                    WINCE;DEBUG;_WINDOWS;$(ARCHFAM);$(_ARCHFAM_);
                                    _UNICODE;UNICODE;__WXWINCE__;NOPCH;wxNO_EXCEPTIONS
      代碼生成:MTD
  鏈接器:
       附加庫目錄:..\wxCELib\debug
       輸入:wx_mono.lib wx_wxexpat.lib wx_wxjpeg.lib wx_wxpng.lib wx_wxzlib.lib wcelibcex.lib
       命令行:附加選項: /subsystem:windowsce,4.20 /machine:ARM /ARMPADCODE
       系統:子系統:未設置
       高級:入口點:無

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


好了,有了這些,就可以嘗試最經典的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上運行是有些問題的,CreateStatusBar()也是不能再WinCE上運行,或許不久會解決這些問題。不過,基礎的wxMenu、wxWindow卻是可以的,有這些組建復雜的界面也不難。

        呵呵,,如果通過編譯并正確運行,,。。。^V^,,,就OK了。。。

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

評論

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

我的是在:Win32平臺配置的,是按照你的配置一步步的跟著來的,但是出現了錯誤:錯誤如下:

正在鏈接...
LINK : error LNK2001: 無法解析的外部符號 _無
helloworld.obj : error LNK2019: 無法解析的外部符號 "__declspec(dllimport) public: __thiscall wxString::wxString(char const *)" (__imp_??0wxString@@QAE@PBD@Z) ,該符號在函數 "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: 無法解析的外部符號 "__declspec(dllimport) char const * const wxFrameNameStr" (__imp_?wxFrameNameStr@@3QBDB)
helloworld.obj : error LNK2001: 無法解析的外部符號 "__declspec(dllimport) char const * const wxStatusBarNameStr" (__imp_?wxStatusBarNameStr@@3QBDB)
helloworld.obj : error LNK2001: 無法解析的外部符號 "__declspec(dllimport) char const * const wxToolBarNameStr" (__imp_?wxToolBarNameStr@@3QBDB)
helloworld.obj : error LNK2001: 無法解析的外部符號 "__declspec(dllimport) char const * const wxComboBoxNameStr" (__imp_?wxComboBoxNameStr@@3QBDB)
helloworld.obj : error LNK2001: 無法解析的外部符號 "__declspec(dllimport) char const * const wxButtonNameStr" (__imp_?wxButtonNameStr@@3QBDB)
helloworld.obj : error LNK2001: 無法解析的外部符號 "__declspec(dllimport) char const * const wxTextCtrlNameStr" (__imp_?wxTextCtrlNameStr@@3QBDB)
helloworld.obj : error LNK2001: 無法解析的外部符號 "__declspec(dllimport) char const * const wxStaticTextNameStr" (__imp_?wxStaticTextNameStr@@3QBDB)
helloworld.obj : error LNK2001: 無法解析的外部符號 "__declspec(dllimport) char const * const wxEmptyString" (__imp_?wxEmptyString@@3PBDB)
helloworld.obj : error LNK2019: 無法解析的外部符號 "__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) ,該符號在函數 _$E1 中被引用
project1app.obj : error LNK2001: 無法解析的外部符號 "__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: 無法解析的外部符號 "public: virtual void __thiscall wxAppConsole::OnAssert(char const *,int,char const *,char const *)" (?OnAssert@wxAppConsole@@UAEXPBDH00@Z)
project1app.obj : error LNK2001: 無法解析的外部符號 "public: virtual void __thiscall wxAppConsole::OnAssertFailure(char const *,int,char const *,char const *,char const *)" (?OnAssertFailure@wxAppConsole@@UAEXPBDH000@Z)
project1app.obj : error LNK2001: 無法解析的外部符號 "public: virtual bool __thiscall wxApp::Initialize(int &,char * *)" (?Initialize@wxApp@@UAE_NAAHPAPAD@Z)
Debug/helloworld.exe : fatal error LNK1120: 14 個無法解析的外部命令

生成日志保存在“file://e:\jiemian\helloworld\Debug\BuildLog.htm”中
helloworld - 16 錯誤,0 警告
請問是什么原因,能否幫我解答,先謝謝了  回復  更多評論   

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

你的工程應該是動態編譯的,檢查下導入庫是否完整。重要的一條預處理選項WXUSINGDLL,這個選項動態編譯必須的。  回復  更多評論   

導航

統計

常用鏈接

留言簿(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>
            99精品视频网| 国产亚洲精品v| 欧美成人官网二区| 国产欧美亚洲日本| 99国产精品久久久久久久成人热| 国产视频一区二区三区在线观看| 亚洲美女电影在线| 亚洲国产三级网| 久久视频一区二区| 久久九九国产精品| 国产精品有限公司| 亚洲一区二区三区免费在线观看| 国产精品99久久久久久人| 蜜臀99久久精品久久久久久软件| 久久国产精品99国产| 国产精品欧美日韩| 亚洲视频自拍偷拍| 亚洲一区二区黄| 欧美吻胸吃奶大尺度电影| 9国产精品视频| 亚洲一区二区在线视频| 欧美日韩精品久久久| 99国产麻豆精品| 一区二区三区精品久久久| 欧美精品久久久久久久| 亚洲激情视频在线播放| 日韩天天综合| 欧美天堂亚洲电影院在线观看| 亚洲人成在线观看一区二区| 一区二区不卡在线视频 午夜欧美不卡在 | 欧美日本亚洲韩国国产| 亚洲裸体视频| 亚洲欧美日韩久久精品| 国产精品婷婷午夜在线观看| 午夜天堂精品久久久久| 久久免费视频这里只有精品| 136国产福利精品导航网址| 久久天天躁夜夜躁狠狠躁2022 | 亚洲国产精品第一区二区| 亚洲欧洲一区二区天堂久久| 欧美精品一区二区三区久久久竹菊| 亚洲激情在线观看视频免费| 在线午夜精品自拍| 国产日产亚洲精品| 美女日韩欧美| 一区二区三区视频免费在线观看| 欧美一区二区精品| 永久免费毛片在线播放不卡| 欧美精选一区| 亚洲永久免费精品| 欧美第一黄色网| 亚洲伊人网站| 黄色国产精品| 欧美日韩一区综合| 久久精品在线免费观看| 亚洲国产一区视频| 欧美在线视屏| 亚洲日本理论电影| 国产精品网红福利| 欧美激情a∨在线视频播放| 亚洲免费一级电影| 亚洲国产精品高清久久久| 欧美一区二区三区免费观看| 亚洲国产精品精华液2区45| 欧美视频网站| 久久躁日日躁aaaaxxxx| 亚洲一区二区三区色| 欧美激情一区二区三区在线视频观看| 亚洲天堂黄色| 亚洲电影av在线| 国产精品毛片大码女人| 免费成年人欧美视频| 午夜精品一区二区在线观看| 亚洲第一免费播放区| 欧美一级视频| 一本一道久久综合狠狠老精东影业| 国产嫩草一区二区三区在线观看| 欧美a一区二区| 久久精品免费播放| 亚洲一级二级| 99热这里只有精品8| 欧美激情精品久久久久| 久久久精品网| 欧美一区二区国产| 亚洲综合色激情五月| 亚洲毛片在线| 亚洲第一毛片| 精品福利电影| 国内精品写真在线观看| 国产日韩欧美不卡在线| 国产精品久在线观看| 欧美日韩国产区一| 欧美日韩1区2区| 欧美高清在线视频| 欧美www视频| 欧美jizz19hd性欧美| 蜜桃视频一区| 欧美88av| 欧美精品粉嫩高潮一区二区| 蜜臀av性久久久久蜜臀aⅴ四虎| 久久精品盗摄| 久久久综合免费视频| 欧美在线观看你懂的| 欧美一区二区三区久久精品| 新狼窝色av性久久久久久| 亚洲欧美日韩第一区| 亚洲自拍啪啪| 欧美专区第一页| 久久久久久亚洲精品杨幂换脸 | 99re热精品| 日韩一级欧洲| 亚洲视频福利| 先锋影音久久久| 久久精品视频在线看| 老司机精品导航| 欧美高潮视频| 亚洲麻豆av| 亚洲欧美日韩另类| 欧美在线视频免费观看| 久久久之久亚州精品露出| 免费成人美女女| 欧美人在线观看| 国产精品久久久久久久久免费桃花| 国产精品一区视频网站| 精品电影在线观看| 91久久一区二区| 亚洲一区二区三区色| 久久国产精品第一页 | 老色批av在线精品| 欧美国产激情| 999亚洲国产精| 香蕉乱码成人久久天堂爱免费| 久久精品视频在线播放| 欧美大片国产精品| 国产精品综合av一区二区国产馆| 国产一区高清视频| 亚洲精品孕妇| 久久国产精品黑丝| 欧美激情在线免费观看| 一级成人国产| 久久综合色8888| 国产精品九九| 亚洲精品久久7777| 性欧美1819性猛交| 欧美国产欧美综合 | 最新成人在线| 先锋亚洲精品| 亚洲国产国产亚洲一二三| 亚洲图片自拍偷拍| 免费在线国产精品| 国产精品稀缺呦系列在线| 91久久国产综合久久| 欧美一区二区高清在线观看| 亚洲国产精品久久人人爱蜜臀| 亚洲无玛一区| 欧美精品一区二| 国外精品视频| 小处雏高清一区二区三区 | 欧美a级大片| 亚洲永久免费观看| 欧美另类综合| 亚洲高清不卡在线观看| 午夜精品久久99蜜桃的功能介绍| 欧美二区乱c少妇| 久久精品国产99国产精品澳门| 欧美视频中文在线看 | 最近中文字幕日韩精品| 欧美一站二站| 日韩系列在线| 欧美精品日韩三级| 亚洲欧洲在线一区| 久久婷婷蜜乳一本欲蜜臀| 亚洲一线二线三线久久久| 欧美日韩国产在线| 日韩午夜黄色| 亚洲欧洲三级电影| 蜜桃av一区二区| 在线观看av一区| 鲁大师影院一区二区三区| 欧美一区二区在线视频| 国产视频不卡| 久久九九久精品国产免费直播 | 99热在这里有精品免费| 欧美国产综合| 亚洲精品一区在线观看| 欧美激情网站在线观看| 巨乳诱惑日韩免费av| 影音先锋一区| 欧美国产综合视频| 欧美不卡视频| 一本久道久久综合狠狠爱| 亚洲欧洲视频在线| 欧美日韩精品福利| 亚洲一区中文| 午夜精品福利电影| 国内精品久久久| 欧美chengren| 欧美区在线观看| 亚洲在线一区二区三区| 亚洲欧美精品在线观看|