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

Code Knight

Programming is so cool
隨筆 - 52, 文章 - 0, 評論 - 14, 引用 - 0
數據加載中……

VS05編譯wxWidgets

找了好多文章照著做弄了一下午才弄好,自己歸總一下,wxWidgets版本2.8.9。

導讀:
  1. 去http://www.wxwidgets.org/downloads/下載一個wxMSW版本的wxWidgets。
  2. 運行安裝文件。在安裝好后設置環境變量WXWIN,指向wxWidgets的安裝目錄。因為安裝過程僅僅是把文件拷貝到指定的目錄,所以還需要對wxWidgets進行編譯。
  3. 進入$(WXWIN)\build\msw目錄,用VS2005打開wx.dsw,提示是否進行項目轉換,點確定。如果想要連接靜態運行庫,在編譯前應該對每個項目進行設置。
  
   
         編譯Debug版本的庫:用Visual Studio 2005打開build\msw\wx.dsw文件,Solution Configurations中選中Unicode Debug,直接Build Solution就可以編譯出Debug版本的wxWidgets庫了。(默認的是Multi-Threaded debug dll)
    編譯Relase版本的庫:Release 版本的wxWidgets庫雖然也可以通過類似的方法去編譯,但編譯出來的庫仍然依賴于visual studio 2005的運行時庫。Debug版本的庫依賴VS2005也就算了,反正是自己調試用的。Release版本可是要給別人用的,再帶上一大堆dll就不好了。為了解決這個問題,我們需要先在Solution Configuration中選中Unicode Release,然后在Solution Explorer中,針對每一個project在項目屬性的C/C++ --> Code Generation --> Runtime Library中選Multi-Threaded。(HOHO, 有20個項目要改屬性啊~~~)。最后再Build Solution就可以了。(也就是LIB庫)

  
  編譯好后的wxWidgets會在$(WXWIN)\lib\vc_lib目錄下生成一系列的lib文件,這些lib文件的名字遵循下面的命名規則:不依賴于GUI組件的庫會以"wxbase"開頭,緊跟著的是版本號,然后的字母表明這個庫是否是編譯為Unicode('u')或是否是編譯為Debug('d'),名字中的最后部分是wxWidgets組件的名字。
  注意:wxWidgets編譯完后在$(WXWIN)\build\msw目錄下會生成許多預編譯頭文件,占了很大的空間,如果確定以后不再編譯wxWidgets庫的話,可以考慮刪掉。
  設置VC開發環境
  打開Tools -> Options -> Projects and Solutions -> VC++ Directories
  1. 在Include files中加入$(WXWIN)\include和$(WXWIN)\include\msvc
  2. 在Library files中加入$(WXWIN)\lib\vc_lib
  創建wxWidgets項目
  新建一個General -> Empty Project或Win32 -> Win32 Project項目,然后設置項目的一些屬性,可以選擇下面的其中一個來設置。譬如你如果打算使用Unicode,那么選擇Unicode Debug或Unicode Release,如果你僅僅想調試程序而非發布,則只需要選擇Debug設置。
  Debug:
  Project Properties -> General -> Character Set: No Set
  Project Properties -> C/C++ -> Code Generation -> Runtime Library: Multi-threaded Debug DLL (/MDd)
  Project Properties -> Linker -> Input -> Additional Dependencies: wxbase28d.lib wxmsw28d_core.lib winmm.lib comctl32.lib rpcrt4.lib wsock32.lib oleacc.lib

  Release:
  Project Properties -> General -> Character Set: No Set
  Project Properties -> C/C++ -> Code Generation -> Runtime Library: Multi-threaded (/MT)
  Project Properties -> Linker -> Input -> Additional Dependencies: wxbase28.lib wxmsw28_core.lib winmm.lib comctl32.lib rpcrt4.lib wsock32.lib oleacc.lib

  Unicode Debug:
  Project Properties -> General -> Character Set: Use Unicode Character Set
  Project Properties -> C/C++ -> Code Generation -> Runtime Library: Multi-threaded Debug DLL (/MDd)
  Project Properties -> Linker -> Input -> Additional Dependencies: wxbase28ud.lib wxmsw28ud_core.lib winmm.lib comctl32.lib rpcrt4.lib wsock32.lib oleacc.lib

  Unicode Release:
  Project Properties -> General -> Character Set: Use Unicode Character Set
  Project Properties -> C/C++ -> Code Generation -> Runtime Library: Multi-threaded (/MT)
  Project Properties -> Linker -> Input -> Additional Dependencies: wxbase28u.lib wxmsw28u_core.lib winmm.lib comctl32.lib rpcrt4.lib wsock32.lib oleacc.lib

  問題
  1. 在編譯時出現了Cannot open include file: '../mswu/wx/setup.h': No such file or directory錯誤
  這是因為項目屬性的Character Set設置不正確,必須與使用的wxWidgets庫的Character Set一致。
  2. 在編譯時出現了MSVCRT.lib(MSVCRT.dll) : error LNK2005: _free already defined in LIBC.lib(free.obj)
  這是因為沒有連接正確的wxWidgets庫,譬如Unicode Debug版本的項目就需要連接Unicode+Debug版本的wxWidgets庫(庫名后綴為'ud'的lib文件)。或者是wxWidgets和Application使用的Runtime Library不相同。
  3. 運行是出現No Debugging Information對話框
  將Project Properties -> Linker -> Debugging -> Generate Debug Info的值改成Yes (/DEBUG)。
#ifndef WXWIDGETS_EXAMPLE_HELLOWORLDAPP_H_20080722
#define WXWIDGETS_EXAMPLE_HELLOWORLDAPP_H_20080722

//對于支持預編譯的編譯器,包含此文件
// For compilers that support precompilation, includes "wx.h".
#include <wx/wxprec.h>

//對于不支持預編譯的編譯器,進行如下操作
#ifndef WX_PRECOMP
// Include your minimal set of headers here, or wx.h
#include <wx/wx.h>
#endif

//定義wxApp類
class HelloWorldApp : public wxApp
{
public :
    
//在程序初始化時調用
    virtual bool OnInit();
    
//在程序結束時調用
    virtual int OnExit();
};

//定義wxGetApp()函數,可以取得HelloWorldApp類型的全局程序變量
DECLARE_APP(HelloWorldApp)

#endif //WXWIDGETS_EXAMPLE_HELLOWORLDAPP_H_20080722


#ifndef WXWIDGETS_EXAMPLE_HELLOWORLDAPP_H_20080722
#define WXWIDGETS_EXAMPLE_HELLOWORLDAPP_H_20080722

//對于支持預編譯的編譯器,包含此文件
// For compilers that support precompilation, includes "wx.h".
#include <wx/wxprec.h>

//對于不支持預編譯的編譯器,進行如下操作
#ifndef WX_PRECOMP
// Include your minimal set of headers here, or wx.h
#include <wx/wx.h>
#endif

//定義wxApp類
class HelloWorldApp : public wxApp
{
public :
    
//在程序初始化時調用
    virtual bool OnInit();
    
//在程序結束時調用
    virtual int OnExit();
};

//定義wxGetApp()函數,可以取得HelloWorldApp類型的全局程序變量
DECLARE_APP(HelloWorldApp)

#endif //WXWIDGETS_EXAMPLE_HELLOWORLDAPP_H_20080722


posted on 2009-02-16 22:59 Code Knight 閱讀(3004) 評論(0)  編輯 收藏 引用 所屬分類: GUI編譯記

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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国产精品视频免费观看| 久久激情久久| 新狼窝色av性久久久久久| 欧美午夜久久久| av成人手机在线| 亚洲一区二区三区免费观看 | 国产亚洲精品v| 久久精品午夜| 日韩亚洲欧美成人| 久久久久网站| 亚洲精品一区二区三区不| 欧美日韩亚洲一区二区三区在线观看 | 国产精品一二一区| 玖玖在线精品| 一区在线播放视频| 99精品福利视频| 亚洲国产1区| 国模精品一区二区三区| 午夜精品久久久久久久久久久久 | 久久九九国产精品| 久久精品国产99国产精品澳门| 亚洲精品欧美激情| 香蕉精品999视频一区二区| 亚洲福利视频在线| 国产精品久久久久久久7电影 | 久久免费少妇高潮久久精品99| 久久9热精品视频| 久久尤物视频| 一本色道久久综合亚洲二区三区 | 国产三级精品在线不卡| 午夜视频久久久| 久久精品亚洲一区二区| 欧美少妇一区| 久久亚洲一区| 国产农村妇女毛片精品久久莱园子| 国产一区自拍视频| 亚洲黄色影院| 午夜综合激情| 久久精品中文字幕一区| 新片速递亚洲合集欧美合集| 久久免费视频一区| 欧美性一区二区| 国产欧美一区二区在线观看| 国产伦精品免费视频 | 欧美在线日韩在线| 久久男人资源视频| 久久综合国产精品| 中文欧美日韩| 这里只有精品视频在线| 久久久久久久久久码影片| 欧美成人精品高清在线播放| 亚洲视频在线一区| 亚洲欧美日韩区| 一区二区三区自拍| 在线精品国产欧美| 亚洲精品在线视频观看| 久久综合伊人| 欧美中文字幕| 国产精品videosex极品| 亚洲巨乳在线| 欧美成人一区二免费视频软件| 亚洲精品一区在线观看香蕉| 欧美在线亚洲| 亚洲二区三区四区| 欧美波霸影院| 欧美成人精品在线| 欧美精品日韩| 一本久道久久久| 亚洲欧洲日本mm| 久久精品一区二区国产| 欧美激情精品久久久| 欧美日韩国产免费| 欧美在线播放一区二区| 亚洲午夜高清视频| 久久精品综合网| 狠狠色伊人亚洲综合成人| 国产无遮挡一区二区三区毛片日本| 激情另类综合| 亚洲国产一区二区在线| 久久久久久久久久久久久久一区| 国内自拍视频一区二区三区| 欧美mv日韩mv国产网站app| 午夜久久tv| 亚洲男人影院| 国产欧美日韩亚洲精品| 最新日韩中文字幕| 国产一区日韩一区| 亚洲精品一区二区在线观看| 黄色精品在线看| 亚洲综合99| 欧美一区二区三区视频在线观看 | 久久久久久久综合狠狠综合| 欧美大片在线观看| 欧美在线视频观看| 国产精品视频yy9299一区| 日韩一二三在线视频播| 欧美激情亚洲精品| 中文日韩电影网站| 久久久久久尹人网香蕉| 国产欧美一区二区精品忘忧草 | 亚洲高清视频的网址| 国产精品xnxxcom| 久久国产加勒比精品无码| 国产日韩欧美综合精品| 欧美一级在线播放| 国产伦理一区| 在线性视频日韩欧美| 午夜免费电影一区在线观看| 欧美网站在线观看| 亚洲特色特黄| 久久久久国产精品一区| 欧美午夜精品久久久久免费视| 亚洲激情午夜| 亚洲欧美日本国产有色| 久久久久久久综合日本| 在线观看欧美视频| 欧美性猛交xxxx乱大交蜜桃 | 国产精品99久久久久久久女警 | 久久亚洲欧美| 亚洲第一视频网站| 国产午夜精品一区二区三区欧美 | 欧美视频精品在线| 久久国产毛片| 午夜日韩av| 亚洲欧美中文在线视频| 亚洲精品一区二区三区av| 欧美成人精品不卡视频在线观看| 久久久精品性| 久久久久久久精| 裸体一区二区三区| 亚洲欧洲精品一区| 在线一区二区三区做爰视频网站| 日韩一级网站| 亚洲欧美日韩精品久久久久| 亚洲破处大片| 亚洲图片你懂的| 亚洲综合日韩| 一本久久a久久精品亚洲| 欧美成人精品激情在线观看 | 91久久久久久国产精品| 免费永久网站黄欧美| 久热成人在线视频| 亚洲欧洲精品一区二区三区不卡 | 欧美一级视频| 国产精品白丝黑袜喷水久久久 | 亚洲人成网站色ww在线| 亚洲一区二区三区中文字幕| 久久久久久电影| 99国内精品久久| 欧美+日本+国产+在线a∨观看| 欧美精品啪啪| 欧美连裤袜在线视频| 国产精品私人影院| 黑丝一区二区| 亚洲特级毛片| 亚洲黄色三级| 亚洲午夜久久久久久久久电影网| 玖玖视频精品| 亚洲视频国产视频| 午夜精品视频在线| 在线视频观看日韩| 亚洲精品美女免费| 国产麻豆精品久久一二三| 久久九九99| 欧美高清视频一二三区| 日韩午夜三级在线| 亚洲毛片在线| 国产精品成人在线观看| 国产精品美女久久久久久免费 | 亚洲视频免费看| 亚洲日本中文字幕区| 欧美激情2020午夜免费观看| 亚洲国产精品久久人人爱蜜臀| 久久综合久久久久88| 欧美黄免费看| 久久久久久999| 欧美高清视频在线观看| 欧美精品二区| 日韩午夜激情电影| 亚洲午夜国产成人av电影男同| 国产一区二区精品丝袜| 亚洲电影免费观看高清| 国产精品你懂的在线欣赏| 噜噜噜久久亚洲精品国产品小说| 欧美好骚综合网| 欧美国产第二页| 国产欧美一区二区三区在线看蜜臀 | 欧美一区免费视频| 欧美亚洲在线观看| 国产精品久久久久久久午夜| 亚洲第一搞黄网站| 亚洲欧洲一区二区三区在线观看 | 亚洲精品自在久久| 亚洲精品综合| 欧美日韩蜜桃| av成人老司机| 欧美一区二区啪啪| 国产综合久久久久久| 欧美一区二区视频网站|