zoukankan      html  css  js  c++  java
  • Windows下安装wxWidgets(vs2005) 【转】

    http://www.wxwidgets.org/

    下载wxWidgets 的zip包。解压到某一目录(后文中此目录用 %WXPATH%代替)。

    编译 wxWidgets

    (可以用IDE打开%WXPATH%\build\msw\wx.dsw或wx_dll.dsw编译,注意相关参数的设置

    在 Visual Studio 命令行环境下进入%WXPATH%\build\msw 目录。这里面有一系列makefile,根据其对应的编译器不同有着不同的后缀,并且每种编译器也对应着一个config 文件。

    makefile.vc 和 config.vc。

    用文本编辑器打开 config.vc 文件。这是关于如何编译
    wxWidgets 的设置。这里解释一些重要的选项。

    SHARE: 编译产生的 wxWidgets 库是静态库还是动态库
    UNICODE: 是否支持 unicode utf-8
    BUILD: 编译产生的库是用于调试的还是最终发行的

    UNICODE、BUILD
    选项可产生四种组合,产生四套不同的库,若再和SHARE 组合则可产生八套不同的库。

    MONOLITHIC: 是否只产生一个单一的库文件。

    USE_GUI: 是否编译图形界面库
    USE_HTML: 是否编译 HTML 库
    USE_XRC: 是否编译 XRC 库
    USE_OPENGL: 是否编译 OPENGL 库
    USE_ODBC: 是否编译 ODBC 库
    USE_QA: 是否编译 QA 库

    RUNTIME_LIBS: 使用动态还是静态的 C++ 运行库,对应VC编译器的 /MD 和 /MT 参数


    除了 UNICODE 和 BUILD 选项之外,其它选项如下:

    SHARE = 0
    MONOLITHIC = 0
    USE_GUI = 1
    USE_HTML = 1
    USE_XRC = 1
    USE_OPENGL = 1
    USE_ODBC = 1
    USE_QA = 1
    RUNTIME_LIBS = static


    nmake -f makefile.vc BUILD=xxxx UNICODE=yy

    编译产生的临时文件分别在 msw mswd mswu mswud
    四个子目录中,这些是为了在调整设置后重新编译时节约时间的,若不想重新编译可以把它们删掉。而最终产生的lib 文件已经被拷贝到了 %WXPATH%\lib\vc_lib下。其中每套库还有一个配置文件,分别在%WXPATH%\lib\vc_lib 下的 msw mswd mswu mswud
    四个目录中,这些配置文件里包含许多可以调整的预编译选项,具体可以参考相关文档。

    到此为止,wxWidgets库已经编译好了。

    设置一个使用 wxWidgets 的Visual Studio 工程

    启动 Visual C++ 2005,打开Tools\Option 菜单。这里是 IDE 的一些全局选项。看看
    Projects and Solutions\VC++ Directories 里面是否包括 Platform SDK的include 和lib目录,如果没有的话加上。

    然后新建一个工程(Win32 Application,在工程设置里面修改编译器和连接器的设置如下(注意把%WXPATH% 换成真实的 wxWidgets 解压目录):

    [Debug]

    Configuration Properties\C/C++\General\Additional Include Directories:
    %WXPATH%\include;%WXPATH%\include\msvc

    Configuration Properties\C/C++\Preprocessor\Preprocessor Definitions:
    WIN32;__WXMSW__;_WINDOWS;_DEBUG;__WXDEBUG__

    Configuration Properties\C/C++\Code Generation\Runtime Library:
    Multi-threaded Debug(/MTd)

    Configuration Properties\Linker\General\Additional Library Directories:
    %WXPATH%\lib\vc_lib

    Configuration Properties\Linker\Input\Additional Dependencies:
    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib
    shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib
    advapi32.lib wsock32.lib odbc32.lib opengl32.lib
    (wxWidgets 的库好像会在预编译里自动被加上,否则可以将wxXX库添加进去)

    Configuration Properties\Linker\Debugging\Generate Debug Info:
    Yes(/DEBUG)

    [Release]

    Configuration Properties\C/C++\General\Additional Include Directories:
    %WXPATH%\include;%WXPATH%\include\msvc

    Configuration Properties\C/C++\Preprocessor\Preprocessor Definitions:
    WIN32;__WXMSW__;_WINDOWS

    Configuration Properties\C/C++\Code Generation\Runtime Library:
    Multi-threaded Debug(/MT)

    Configuration Properties\Linker\General\Additional Library Directories:
    %WXPATH%\lib\vc_lib

    Configuration Properties\Linker\Input\Additional Dependencies:
    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib
    shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib
    advapi32.lib wsock32.lib odbc32.lib opengl32.lib

    此外还需特别注意字符集是否是Unicode.总之,工程需要和添加的库的版本相符

  • 相关阅读:
    如何在ubuntu里面使用JNI?
    sql server 关键字一
    自己编写的 objectDataSource 配合 GridView 实现分页...
    委托和匿名委托的比较
    实现 IEnumerable IEnumator 接口的类,可直接用作 Gridivew 的数据源
    ASP.NET 中的页面事件执行顺序
    泛型,集合的根本区别
    匿名委托的示例,贴一下以供参考...
    ajax "Sys 未定义" 的问题解决方法
    抽象工厂模式(C#)
  • 原文地址:https://www.cnblogs.com/shengshuai/p/1446940.html
Copyright © 2011-2022 走看看