• <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編譯簡(jiǎn)介

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

            ???????? 使用wxWidgets庫(kù)已經(jīng)有一年多了,很多時(shí)候想寫(xiě)點(diǎn)回憶性質(zhì)的東西來(lái),以備今后工作學(xué)習(xí)中參考。但每次下筆后卻又因?yàn)榭偪傇颍袛嗷蚴橇闼榈氖虑閰s又沒(méi)再抬起過(guò)筆。雖然我目前接觸了解wxWidgets時(shí)間不長(zhǎng),今后的工作中還不一定能夠用到她,寫(xiě)東西也需要花費(fèi)大量的精力,但我盡可能的將我所知道的表述出來(lái),留給需要的人,減少入門(mén)花費(fèi)的時(shí)間。

            一、
            wx庫(kù)簡(jiǎn)介
            ????????? 跨平臺(tái)GUI庫(kù),其他的不說(shuō)了。Google一下,看看是不是你所需要的。

            ????????? 官方網(wǎng)站:http://www.wxwidgets.org/
            ????????? Wiki:http://wiki.wxwidgets.org/Main_Page

            二、VS + Win32 環(huán)境編譯

            目標(biāo)庫(kù)版本: 2.8.7

            編譯平臺(tái): WinXP + VS2005

            編譯類型:動(dòng)態(tài)庫(kù) + Unicode + Debug

            編譯目標(biāo)平臺(tái): Win32

            1 、打開(kāi)工程 wxWidgets-2.8.7\build\msw\wx_dll.dsw ,將其轉(zhuǎn)換為 vs2005 工程關(guān)閉保存,再打開(kāi)工程 wx_dll.sln

            2 、將解決方案配置更換為 DLL Unicode Debug

            3 、依次單獨(dú)編譯 wxregex wxzlib wxexpat wxtiff base wxjpeg wxpng core odbc xml adv html net gl dbgrid qa richtext aui xrc media 庫(kù)。

            其中目前版本 odbc gl dbgrid 工程并不完善,出現(xiàn)編譯錯(cuò)誤忽略即可。

            4 、如果以上順利通過(guò),那么將得到以下我們需要的庫(kù)文件

            編譯預(yù)定義環(huán)境

            wxWidgets-2.8.7\lib\vc_dll\mswud\wx\ setup.h
            wxWidgets-2.8.7\lib\vc_dll\mswud\wx\msw\ rcdefs.h

            wxWidgets-2.8.7\lib\vc_dll\wxbase28ud_net_vc_custom.dll
            wxWidgets-2.8.7\lib\vc_dll\wxbase28ud_odbc_vc_custom.dll
            wxWidgets-2.8.7\lib\vc_dll\wxbase28ud_vc_vc_custom.dll
            wxWidgets-2.8.7\lib\vc_dll\wxbase28ud_xml_vc_custom.dll
            wxWidgets-2.8.7\lib\vc_dll\wxmsw28ud_adv_vc_custom.dll
            w
            xWidgets-2.8.7\lib\vc_dll\wxmsw28ud_aui_vc_custom.dll
            w
            xWidgets-2.8.7\lib\vc_dll\wxmsw28ud_core_vc_custom.dll
            wxWidgets-2.8.7\lib\vc_dll\wxmsw28ud_gl_vc_custom.dll
            w
            xWidgets-2.8.7\lib\vc_dll\wxmsw28ud_html_vc_custom.dll
            w
            xWidgets-2.8.7\lib\vc_dll\wxmsw28ud_media_vc_custom.dll
            w
            xWidgets-2.8.7\lib\vc_dll\wxmsw28ud_qa_vc_custom.dll
            w
            xWidgets-2.8.7\lib\vc_dll\wxmsw28ud_richtext_vc_custom.dll
            w
            xWidgets-2.8.7\lib\vc_dll\wxmsw28ud_xrc_vc_custom.dll

            wxWidgets-2.8.7\lib\vc_dll\wxbase28ud.lib
            w
            xWidgets-2.8.7\lib\vc_dll\wxbase28ud_net.lib
            w
            xWidgets-2.8.7\lib\vc_dll\wxbase28ud_xml.lib
            w
            xWidgets-2.8.7\lib\vc_dll\wxexpatd.lib
            w
            xWidgets-2.8.7\lib\vc_dll\wxjpegd.lib
            w
            xWidgets-2.8.7\lib\vc_dll\wxmsw28ud_adv.lib
            w
            xWidgets-2.8.7\lib\vc_dll\wxmsw28ud_aui.lib
            w
            xWidgets-2.8.7\lib\vc_dll\wxmsw28ud_core.lib
            w
            xWidgets-2.8.7\lib\vc_dll\wxmsw28ud_html.lib
            w
            xWidgets-2.8.7\lib\vc_dll\wxmsw28ud_media.lib
            w
            xWidgets-2.8.7\lib\vc_dll\wxmsw28ud_qa.lib
            w
            xWidgets-2.8.7\lib\vc_dll\wxmsw28ud_richtext.lib
            w
            xWidgets-2.8.7\lib\vc_dll\wxmsw28ud_xrc.lib
            w
            xWidgets-2.8.7\lib\vc_dll\wxpngd.lib
            w
            xWidgets-2.8.7\lib\vc_dll\wxregexud.lib
            w
            xWidgets-2.8.7\lib\vc_dll\wxtiffd.lib
            w
            xWidgets-2.8.7\lib\vc_dll\wxzlibd.lib

            注意:將以上文件按照文件按照原目錄相對(duì)結(jié)構(gòu)拷貝到要制作的庫(kù)路徑下,并將 wxWidgets-2.8.7\ include 目錄也拷貝到其目錄下,以后要使用只需要包含這些路徑即可。

            ???????????
            ??????????為了以后開(kāi)發(fā)方便,設(shè)定的開(kāi)發(fā)庫(kù)路徑為:
            ????????? wxLib\include
            ????????? wxLib\Debug\mswud\wx\msw
            ????????? wxLib\Debug

            三、VS +
            WinCE環(huán)境編譯

            目標(biāo)庫(kù)版本:2.8.7

            編譯平臺(tái):WinXP + VS2005

            編譯類型:靜態(tài)庫(kù) + Unicode + Debug + Pocket PC 2003(ARM4)

            編譯目標(biāo)平臺(tái):WinCE4.0以上

            1、打開(kāi)工程wxWidgets-2.8.7\build\wince\ wx.vcw。這個(gè)工程是evc的工程,先將其轉(zhuǎn)換為vs2005的工程wx.sln。

            2、打開(kāi)wxWidgets-2.8.7\include\wx\minifram.h文件,在最后一個(gè)endif之前加上

            //** ADD 修正wince端無(wú)法通過(guò)編譯

            #ifdef _WIN32_WCE

            #include "wx/frame.h"

            typedef wxFrame wxMiniFrame;

            #endif

            3、依次編譯wxzlib、wxpng、wxjpeg、wxexpat、gl、mono。直接編譯會(huì)有些許小問(wèn)題,請(qǐng)看1、2樓回帖。

            如果有編譯事件錯(cuò)誤,重新編譯一次即可。

            4、如果通過(guò)以上編譯可得到如下我們需要的庫(kù)文件

            wxWidgets-2.8.7\lib\evc_armv4_lib\winced\wx\ setup.h
            wxWidgets-2.8.7\lib\evc_armv4_lib\winced\wx\msw\ rcdefs.h
            wxWidgets-2.8.7\build\wince\Pocket PC 2003 (ARMV4)\Debug\wx_wxzlib.lib
            wxWidgets-2.8.7\build\wince\Pocket PC 2003 (ARMV4)\Debug\ wx_wxpng.lib
            wxWidgets-2.8.7\build\wince\Pocket PC 2003 (ARMV4)\Debug\ wx_wxjpeg.lib
            wxWidgets-2.8.7\build\wince\Pocket PC 2003 (ARMV4)\Debug\ wx_wxexpat.lib
            wxWidgets-2.8.7\build\wince\Pocket PC 2003 (ARMV4)\Debug\ wx_gl.lib
            wxWidgets-2.8.7\build\wince\Pocket PC 2003 (ARMV4)\Debug\ wx_mono.lib


            注意:將以上文件按照文件按照原目錄相對(duì)結(jié)構(gòu)拷貝到要制作的庫(kù)路徑下,并將

            wxWidgets-2.8.7\ include 目錄也拷貝到其目錄下,以后要使用只需要包含這些路徑即可。

            ??????????為了以后開(kāi)發(fā)方便,設(shè)定的開(kāi)發(fā)庫(kù)路徑為:
            ????????? wxCELib\include
            ????????? wxCELib\Debug\winced\wx\msw
            ????????? wxCELib\Debug


            ??????以上是在VS的編譯環(huán)境,我也嘗試過(guò)在Eclipse+GCC+WIN32環(huán)境下編譯通過(guò)。由于工作生活中只接觸到WIN32和WINCE環(huán)境,因此關(guān)于wx庫(kù)只能做這兩種環(huán)境的描述。

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

            評(píng)論

            # re: wxWidgets編譯簡(jiǎn)介 2009-03-17 10:31 一燈

            你好,向您請(qǐng)教個(gè)問(wèn)題,關(guān)于wxWidget的,
            我下載了wxWidget 2.8.9準(zhǔn)備在wince下使用,但在wince下無(wú)法編譯
            我打開(kāi)了build\wince\下的wx.dcw進(jìn)行編譯,但wxzli、wxpng、wxjpeg、wxepat都能通過(guò),但mono和gl無(wú)法通過(guò),問(wèn)題如下:


            6>------ 已啟動(dòng)全部重新生成: 項(xiàng)目: gl, 配置: Debug Pocket PC 2003 (ARMV4) ------
            6>正在刪除項(xiàng)目“gl”(配置“Debug|Pocket PC 2003 (ARMV4)”)的中間文件和輸出文件
            6>Creating ..\..\lib\evc_armv4_lib\winced\wx\msw\rcdefs.h
            4>pngpread.c
            6>'clarm.exe' 不是內(nèi)部或外部命令,也不是可運(yùn)行的程序
            6>或批處理文件。
            6>Project : error PRJ0019: 某個(gè)工具從以下位置返回了錯(cuò)誤代碼: "Creating ..\..\lib\evc_armv4_lib\winced\wx\msw\rcdefs.h"
            6>生成日志保存在“file://D:\wxWidgets-2.8.9\build\wince\Pocket PC 2003 (ARMV4)\Debug\BuildLog.htm”
            6>gl - 1 個(gè)錯(cuò)誤,0 個(gè)警告

            1>------ 已啟動(dòng)全部重新生成: 項(xiàng)目: mono, 配置: Debug Pocket PC 2003 (ARMV4) ------
            2>------ 已啟動(dòng)全部重新生成: 項(xiàng)目: wxexpat, 配置: Debug Pocket PC 2003 (ARMV4) ------
            1>正在刪除項(xiàng)目“mono”(配置“Debug|Pocket PC 2003 (ARMV4)”)的中間文件和輸出文件
            2>正在刪除項(xiàng)目“wxexpat”(配置“Debug|Pocket PC 2003 (ARMV4)”)的中間文件和輸出文件
            2>正在編譯...
            2>xmlparse.c
            1>mono : warning PRJ0009 : 未能打開(kāi)生成日志進(jìn)行寫(xiě)入。
            1>請(qǐng)確保該文件未被其他進(jìn)程打開(kāi)并且未被寫(xiě)保護(hù)。
            2>xmltok.c
            1>Creating ..\..\lib\evc_armv4_lib\winced\wx\msw\rcdefs.h
            1>'clarm.exe' 不是內(nèi)部或外部命令,也不是可運(yùn)行的程序
            1>或批處理文件。
            1>Project : error PRJ0019: 某個(gè)工具從以下位置返回了錯(cuò)誤代碼: "Creating ..\..\lib\evc_armv4_lib\winced\wx\msw\rcdefs.h"
            1>生成日志保存在“file://D:\wxWidgets-2.8.9\build\wince\Pocket PC 2003 (ARMV4)\Debug\BuildLog.htm”
            1>mono - 1 個(gè)錯(cuò)誤,1 個(gè)警告

            我以為是生成順序的問(wèn)題,但改變順序后依然沒(méi)有解決
            我改變了關(guān)于預(yù)編譯的設(shè)置 依然沒(méi)有解決問(wèn)題,
            我是個(gè)新手,關(guān)于C語(yǔ)言編譯實(shí)在沒(méi)有經(jīng)驗(yàn),希望能給予指教謝謝
              回復(fù)  更多評(píng)論   

            # re: wxWidgets編譯簡(jiǎn)介 2009-03-17 13:30 zyzx

            @一燈

            6>Creating ..\..\lib\evc_armv4_lib\winced\wx\msw\rcdefs.h
            4>pngpread.c
            6>'clarm.exe' 不是內(nèi)部或外部命令,也不是可運(yùn)行的程序
            6>或批處理文件。
            6>Project : error PRJ0019: 某個(gè)工具從以下位置返回了錯(cuò)誤代

            是正常的提示,那份從wx.dcw轉(zhuǎn)換而來(lái)的工程文件,可能由于某些生成事件,對(duì)于VS后期版本不支持或是其他變更而產(chǎn)生的。(個(gè)人揣測(cè))
            使用 右鍵-》僅用于項(xiàng)目-》僅生成XXXX ,依次單獨(dú)編譯wxzlib、wxpng、wxjpeg、wxepat、gl、mono。
            在第一次編譯gl時(shí),會(huì)有上面的提示。忽略,使用上面操作再次單獨(dú)嘗試編譯gl,即可通過(guò)。這個(gè)操作生成setup.h、rcdefs.h兩個(gè)文件。

            謝謝 回饋。  回復(fù)  更多評(píng)論   

            # re: wxWidgets編譯簡(jiǎn)介 2009-03-17 15:10 一燈

            我試試了下,確實(shí)如此,應(yīng)該使用生成解決方案,而不是重新生成解決這樣就沒(méi)問(wèn)題了  回復(fù)  更多評(píng)論   

            # re: wxWidgets編譯簡(jiǎn)介 2009-03-17 15:15 一燈

            還有一個(gè)問(wèn)題是 FNERR_INVALIDFILENAME 沒(méi)有定義,我補(bǔ)了個(gè)#define FNERR_INVALIDFILENAME 0x3002就通過(guò) 了,這是在CdErr.h中定義的,  回復(fù)  更多評(píng)論   

            # re: wxWidgets編譯簡(jiǎn)介 2009-03-17 16:16 zyzx

            @一燈

            wxWidgets-2.8.7中并沒(méi)有定義宏FNERR_INVALIDFILENAME ,我沒(méi)有碰到這個(gè)問(wèn)題。
            國(guó)外有人碰到過(guò):http://www.nabble.com/WinCE---2.8.9-td19491972.html,或許有幫助。

            另外,在CE端做開(kāi)發(fā),最好不要使用過(guò)多的高級(jí)庫(kù)特性。和Win32端比,還是有很多差距。  回復(fù)  更多評(píng)論   

            # re: wxWidgets編譯簡(jiǎn)介[未登錄](méi) 2014-06-10 17:58 劉偉

            編譯過(guò)wxWidgets的x64版本嗎?nmake /f makefile.vc SHARED=0 UNICODE=1 BUILD=debug TARGET_CPU=X64我是這么編譯的,但是在使用的時(shí)候卻出現(xiàn)了一個(gè)問(wèn)題。我建立了一個(gè)x64的工程,準(zhǔn)備使用剛編譯好的靜態(tài)庫(kù),在鏈接的時(shí)候提示我
            wxbase29ud.lib(baselib_intl.obj) : fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'x64'

            難道我編譯的wxWidget庫(kù)不是x64的?該如何確定呢?

            非常期待答疑  回復(fù)  更多評(píng)論   

            # re: wxWidgets編譯簡(jiǎn)介 2015-04-04 11:12 murrayyang

            1>------ 已啟動(dòng)全部重新生成: 項(xiàng)目: mono, 配置: Debug CHSINT SDK For WinCE 6.0 (ARMV4I) ------
            1>------ 已啟動(dòng)生成: 項(xiàng)目: mono, 配置: Debug CHSINT SDK For WinCE 6.0 (ARMV4I) ------
            1>Creating ..\..\lib\evc_armv4t_lib\winced\wx\setup.h
            1>已復(fù)制 1 個(gè)文件。
            1>正在編譯...
            1>dummy.cpp
            1>C:\Users\Administrator\Desktop\wxWidgets-2.8.12\wxWidgets-2.8.12\include\wx/msw/wince/libraries.h(54) : fatal error C1189: #error : "Unknown SDK, please fill-in missing pieces"
            1>項(xiàng)目 : warning PRJ0018 : 未找到下列環(huán)境變量:
            1>$(CePlatform)
            1>生成日志保存在“file://C:\Users\Administrator\Desktop\wxWidgets-2.8.12\wxWidgets-2.8.12\build\wince\CHSINT SDK For WinCE 6.0 (ARMV4I)\Debug\BuildLog.htm”
            1>mono - 1 個(gè)錯(cuò)誤,0 個(gè)警告
            ========== 生成: 成功 0 個(gè),失敗 1 個(gè),最新 0 個(gè),跳過(guò) 0 個(gè) ==========

              回復(fù)  更多評(píng)論   

            導(dǎo)航

            統(tǒng)計(jì)

            常用鏈接

            留言簿(1)

            隨筆分類

            隨筆檔案

            常用鏈接

            搜索

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            色狠狠久久综合网| 久久99国产精品成人欧美| 欧美精品一区二区久久| 性做久久久久久久久| 性高湖久久久久久久久| 九九久久99综合一区二区| 亚洲精品高清久久| 热久久视久久精品18| 无码国内精品久久人妻| 国产亚洲美女精品久久久| 伊人久久久AV老熟妇色| 国产69精品久久久久99尤物| 深夜久久AAAAA级毛片免费看 | 久久99国产亚洲高清观看首页| 久久久久一区二区三区| 四虎国产精品成人免费久久| 伊人久久免费视频| 久久偷看各类wc女厕嘘嘘| 久久久久这里只有精品 | 久久精品免费一区二区三区| 久久AAAA片一区二区| 亚洲av日韩精品久久久久久a| 欧美日韩成人精品久久久免费看| 99精品国产在热久久无毒不卡 | 99精品久久久久中文字幕| 久久精品视频91| 天天综合久久久网| 精品国产91久久久久久久| 77777亚洲午夜久久多人| 狠狠色丁香婷婷久久综合五月| 99久久精品国产综合一区| 97久久精品国产精品青草| 久久精品国产亚洲AV高清热| 亚洲人成网亚洲欧洲无码久久| 亚洲美日韩Av中文字幕无码久久久妻妇 | 国产精品久久久久jk制服| 亚洲欧美国产日韩综合久久| 九九精品99久久久香蕉| 国产精品国色综合久久| 2022年国产精品久久久久| 久久精品国产福利国产秒|