有许多 zip 存档的原因是,从 2.9 开始,它们为每个 MSVC 版本提供了预构建的二进制包。我从来没有使用过这些,所以我无法对它们发表评论,但它们可能会为您节省大量构建源代码的时间并为您提供官方库。
我使用了 MSW 安装包并从源代码构建。这就是我所做的,对我来说效果很好(除了我目前使用 wx292、VS2008 和 Windows 7)。
下载wxWidgets 2.9.4 MSW setup package。
安装它。我假设它会在c:\wxWidgets-2.9.4 中创建一个目录。
使用以下内容创建一个批处理文件c:\wxwidgets-2.9.4\build.bat。你应该用你的名字替换myvendor,这样很明显它不是一个官方的wxWidgets库构建(它会放在文件名中,所以避免空格)。
@echo off
PUSHD build\msw
call :make
cd ..\..\samples
call :make
cd ..\demos
call :make
cd ..\utils
call :make
POPD
GOTO :EOF
@REM Perform builds with all desired configurations
:make
@REM x86 debug & release multiple DLLs Unicode
nmake -f makefile.vc MONOLITHIC=0 SHARED=1 UNICODE=1 BUILD=debug VENDOR=myvendor
nmake -f makefile.vc MONOLITHIC=0 SHARED=1 UNICODE=1 BUILD=release VENDOR=myvendor
@REM x86 debug & release multiple static libs Unicode
nmake -f makefile.vc MONOLITHIC=0 SHARED=0 UNICODE=1 BUILD=debug VENDOR=myvendor
nmake -f makefile.vc MONOLITHIC=0 SHARED=0 UNICODE=1 BUILD=release VENDOR=myvendor
从“开始”菜单打开 Visual Studio 2005 命令提示符。这将正确设置编译器和库的路径。
将目录更改为 wxWidgets:cd c:\wxWidgets-2.9.4。
运行build.bat
它应该在几个小时后完成,具体取决于您的计算机规格,或者您可以REM 构建示例、实用程序和演示以减少时间(感谢@ravenspoint)。您还可以查看 c:\wxWidgets-2.9.4\samples 中的示例,并从示例项目中获取 Visual Studio 项目设置以在您自己的项目中使用(例如 C:\wxWidgets-2.9.4\samples\dialogs\dialogs_vc8.vcproj)。
构建库后,您最终会在C:\wxWidgets-2.9.4\lib 下看到一些额外的目录,其中包含构建的库、dll 和该变体的任何构建特定标头。以下目录是从我的批处理脚本中的构建创建的,并使用工具集(在本例中为 Visual C 的 vc,但可能是特定于版本的,例如 vc80 或固定版本,具体取决于您的构建设置)和库类型.目录和文件名中的msw 表示 Microsoft Windows。目录和文件名中的u 表示Unicode。目录和文件名末尾的d 表示调试。
-
C:\wxWidgets-2.9.4\lib\vc_lib:wxWidgets 的 Visual C (vc) 静态库 (lib) 版本
-
C:\wxWidgets-2.9.4\lib\vc_lib\mwsu: MicroSoft Windows Unicode 特定文件
-
C:\wxWidgets-2.9.4\lib\vc_lib\mwsud: MicroSoft Windows Unicode Debug 特定文件
- 还包含用于发布和调试的混合静态库
-
C:\wxWidgets-2.9.4\lib\vc_dll: wxWidgets 的 Visual C (vc) DLL (dll) 版本
-
C:\wxWidgets-2.9.4\dll\vc_lib\mwsu: MicroSoft Windows Unicode 特定文件
-
C:\wxWidgets-2.9.4\dll\vc_lib\mwsud:MicroSoft Windows Unicode Debug 特定文件
- 还包含用于发布和调试的 DLL 和导入库的混合体
为了在您自己的项目中使用新构建的库,您可以按照以下步骤操作(我使用的是 VS2008,因此某些配置名称可能会略有不同):
当您创建一个新项目时,您需要转到项目属性。
如果您正在使用 DLL,请在配置属性 -> 常规 -> 环境下添加以下内容(以便您的应用程序可以找到 DLL):
PATH=C:\wxWidgets-2.9.4\lib\vc_dll
在 C/C++ -> General -> Additional Include Directories 下,您需要按以下顺序添加 wxWidgets 包含:
- “C:\wxWidgets-2.9.4\include\msvc”
- “C:\wxWidgets-2.9.4\include”
首先包含目录 1 的原因是该目录中有一个wx\setup.h。当您包含它时,它会尝试确定什么编译器、库类型(静态或 DLL)、您是否使用 Unicode 以及它是调试还是发布,它会自动包含来自以下之一的正确的真实 wx/setup.h C:\wxWidgets-2.9.4\lib 的子目录。
然后您需要转到 C/C++ -> Preprocessor -> Preprocessor Definitions 并添加以下行:
__WXMSW__
如果你想使用 wxWidgets 的 DLL 版本而不是静态库你需要添加以下行:
WXUSINGDLL
在链接器 -> 常规 -> 附加链接器目录下,如果您使用静态库,则需要添加以下路径:
"C:\wxWidgets-2.9.4\lib\vc_lib"
如果您正在使用 DLL,则使用以下路径:
"C:\wxWidgets-2.9.4\lib\vc_dll"
在链接器 -> 输入 -> 附加依赖项中,您可能需要至少添加以下内容:
comctl32.lib rpcrt4.lib
在 Resources -> General -> Additional Include Directories 下,您需要添加以下路径:
C:\wxWidgets-2.9.4\include