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

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>
            久久电影一区| 亚洲免费视频在线观看| 欧美激情一区二区三区成人| 久久一区亚洲| 欧美a级片网| 欧美网站在线观看| 国产一区二区三区视频在线观看| 国产亚洲精品v| 1769国产精品| 中文国产亚洲喷潮| 久久成人资源| 欧美11—12娇小xxxx| 欧美精品导航| 亚洲欧美综合一区| 欧美在线一二三| 欧美黄色成人网| 国产精品有限公司| 在线精品国产欧美| 亚洲香蕉在线观看| 麻豆久久精品| 在线亚洲免费视频| 久久先锋影音av| 欧美日韩一区在线观看| 黄色欧美成人| 亚洲在线成人精品| 欧美激情1区2区3区| 中文一区二区| 欧美高清视频| 黄网动漫久久久| 午夜在线播放视频欧美| 亚洲激情一区二区| 亚洲无线视频| 欧美精品激情在线观看| 激情综合久久| 欧美影院精品一区| 亚洲乱码日产精品bd| 久久久精品国产免费观看同学| 欧美另类99xxxxx| 在线播放日韩专区| 久久精品国产免费观看| 在线中文字幕一区| 欧美日韩精品综合| 亚洲美女视频| 欧美激情一区二区在线| 久久久综合香蕉尹人综合网| 国产欧美日韩精品丝袜高跟鞋 | 亚洲免费影视第一页| 欧美日韩成人在线视频| 在线播放中文一区| 久久人体大胆视频| 午夜亚洲一区| 国产精品亚洲人在线观看| 亚洲一区精品视频| 99国产精品国产精品毛片| 欧美国产专区| 99视频一区| 99国产精品99久久久久久粉嫩| 欧美精品123区| 日韩视频在线永久播放| 亚洲国产精品激情在线观看| 欧美va亚洲va国产综合| 亚洲精品影视| 亚洲精品欧美| 欧美三级日本三级少妇99| 一区二区三区国产盗摄| 欧美高清视频一二三区| 香蕉免费一区二区三区在线观看| 欧美日韩视频| 亚洲一区二区视频在线| 亚洲视频免费在线| 国产欧美一区二区三区在线老狼| 欧美一区二区国产| 久久精品国产久精国产爱| 在线观看国产一区二区| 欧美国产精品专区| 欧美黄色aaaa| 亚洲欧美激情四射在线日| 亚洲在线中文字幕| 一区视频在线| 亚洲人成网站色ww在线| 国产精品igao视频网网址不卡日韩| 亚洲综合另类| 香港成人在线视频| 最新精品在线| 亚洲人成人99网站| 国产免费亚洲高清| 母乳一区在线观看| 欧美mv日韩mv国产网站| 亚洲一区三区视频在线观看| 亚洲欧美日本国产有色| 国产最新精品精品你懂的| 欧美成年网站| 国产精品女主播| 老巨人导航500精品| 欧美日韩精品一区二区| 久久久久久一区二区三区| 欧美大片免费| 久久精视频免费在线久久完整在线看| 久久一区二区精品| 亚洲午夜精品久久| 久久久国产午夜精品| 亚洲视频网在线直播| 久久精品99国产精品日本| 在线视频精品一区| 久久综合精品国产一区二区三区| 亚洲一区二区3| 久久亚洲精品网站| 欧美一区二区成人| 欧美精品麻豆| 欧美va亚洲va香蕉在线| 国产精品视频免费观看| 欧美成人亚洲成人| 韩国成人福利片在线播放| 在线亚洲精品| 国产精品99久久99久久久二8| 久久全国免费视频| 久久成人综合网| 国产精品亚洲视频| 亚洲免费精品| 亚洲另类黄色| 免费一级欧美片在线播放| 久久免费99精品久久久久久| 国产精品久久久亚洲一区| 亚洲精品国产欧美| 亚洲日产国产精品| 噜噜噜91成人网| 亚洲一区二区三区乱码aⅴ蜜桃女| 另类av导航| 免费观看成人| 国产综合婷婷| 欧美顶级少妇做爰| 免费在线视频一区| 国产欧美精品日韩| 久久综合狠狠综合久久激情| 亚洲精品在线观| 午夜亚洲性色视频| 亚洲一区一卡| 亚洲狠狠婷婷| 亚洲国产99| 在线不卡中文字幕| 国产精品久久久久一区| 欧美福利小视频| 国产自产2019最新不卡| 亚洲一区二区三区精品在线观看| 亚洲精品看片| 欧美精品在线免费播放| 亚洲大胆人体在线| 精品成人久久| 久久这里有精品视频| 欧美sm视频| 最新国产精品拍自在线播放| 欧美1区免费| 99成人免费视频| 中日韩高清电影网| 国产精品国产三级欧美二区| 亚洲一级影院| 久久久久久999| 黄色免费成人| 欧美精品色网| 亚洲欧美色婷婷| 免费观看成人鲁鲁鲁鲁鲁视频| **欧美日韩vr在线| 欧美日韩1区2区3区| 一区二区成人精品| 久久精品人人做人人综合 | 99精品国产在热久久下载| 亚洲字幕一区二区| 国产一区清纯| 欧美国产日韩免费| 亚洲一区欧美激情| 欧美大片在线看| 亚洲无吗在线| 在线观看视频一区二区| 欧美日韩亚洲91| 久久精品欧美日韩| 夜夜嗨网站十八久久| 免费不卡在线观看| 亚洲一区自拍| 精品91在线| 国产精品普通话对白| 美女尤物久久精品| 亚洲欧美另类综合偷拍| 亚洲电影天堂av| 亚洲线精品一区二区三区八戒| 午夜日韩在线观看| 亚洲毛片在线| 国产一区二区三区久久| 乱人伦精品视频在线观看| 久久婷婷色综合| 亚洲人成在线观看网站高清| 国产精品成人免费| 女女同性精品视频| 欧美一区二区三区婷婷月色| 亚洲毛片在线免费观看| 欧美~级网站不卡| 久久成年人视频| 亚洲午夜精品17c| 亚洲精品之草原avav久久| 永久91嫩草亚洲精品人人| 国产视频一区二区在线观看|