成功构建wxWidgets后要做什么:Visual Studio 2010

时间:2012-01-04 14:34:53

标签: c++ visual-studio-2010 wxwidgets

我已经下载了使用Linux IDE / Editor(或者 NOT Windows )创建的c ++开源应用程序,并且不再支持它。

这次我想使用VS 2010编辑和重新编译它。

遗留的错误(大部分以“wx”为前缀),例如:

  • “wxString未定义”
  • “wxStaticText需要一个类型说明符”

等......让我觉得这都是关于wxWidgets的。

成功构建wxWidgets之后,接下来该怎么做才能将它集成到实际的c ++程序中,以便能够使用VS 2010进行编辑和编译?

我在2年前使用BorlandC ++但不熟悉GUI包。

4 个答案:

答案 0 :(得分:2)

第一步是告诉编译器在哪里查找wxWidgets包含文件。

因此,您需要找出这些文件的位置,这取决于您安装和构建wxWidgets的位置。

在我的系统上,这是C:\ Program Files(x86)\ wxWidgets-2.8.12

我认为最好的方法是,不是在每个项目中对路径进行硬编码,而是创建一个环境变量WXROOT来存储wxWidgets文件夹的路径。

控制面板|系统|高级|环境变量

现在你必须告诉编译器这个

Visual Studio |项目|属性| C / C ++ |其他包含目录

您在此处添加的内容取决于您正在进行的构建类型。如果你正在进行unicode发布版本,那么这将是一个好的开始

“$(WXROOT)\ lib中\ vc_lib \ mswu”; “$(WXROOT)\包括”

现在你应该修复你的编译器错误。

接下来,您将收到一些链接器错误....

答案 1 :(得分:2)

可能是因为您使用的是VS 2010中不支持的wxwidget 2.8而导致错误。

尝试构建wxwidgets 2.9或使用VS 2008.我在VS 2010上构建wxwidgets 2.9没有问题。

Wxwidgets网站主页说:“虽然这仍然是正式的开发版本,因为某些API细节仍未冻结,我们认为2.9.3可以在生产环境中使用”。

关于成功构建后要做什么,请查看此http://wiki.wxwidgets.org/Microsoft_Visual_C%2B%2B_Guide

您可能希望使用“从示例创建新项目”一节的教程,因为手动创建项目有点复杂,因为wxwidgets需要一些额外的配置而不仅仅是设置和包含和libs目录就像大多数的lib一样。

答案 2 :(得分:1)

这是一个video,它显示了如何从Visual Studio开始。 您还可以查看 samples 目录,并根据该目录中项目的配置创建自己的项目。

答案 3 :(得分:1)

可能是我有点晚了,但这将有助于新手wxwidgets。

首先,在我的情况下,Goto Wxwidgets目录(下载路径)是“C:\ Users \ WxWidgets_all”。 现在在该文件夹中转到构建目录。现在打开Visual Studio命令提示符。如果您已经安装了Visual Studio,则可以通过开始菜单轻松找到它。 现在在命令提示符下转到<Path to your wxWidgets>/build/msw/。现在运行以下命令。

nmake / f makefile.vc --For Static Library and Debug Version
nmake / f makefile.vc SHARED = 1 --For SHARED Library and Debug Version
nmake / f makefile.vc BUILD = release --For SHARED Library and Release Version

完成后,您将拥有“<path to wxwidgets>\lib\”中的dll或lib,具体取决于上述命令中提供的选项。

现在,在项目中包含与wxwidgets相关的所有文件。主要需要两条路径才能包含“<path to wxwidgets>\inlcude\”和“<path to wxwidgets>\lib\vc_<lib\dll>”。

之后,将wxwidgets生成库链接到您的项目。要执行此操作,请将“<path to wxwidgets>\lib\vc_<lib\dll>”包含到库部分的项目属性中。

现在将以下预处理器添加到您的项目中。

_WINDOWS
NDEBUG(发布)
_DEBUG(用于调试)
_CRT_SECURE_NO_DEPRECATE=1
_CRT_NON_CONFORMING_SWPRINTFS=1
_SCL_SECURE_NO_WARNINGS=1
__WXMSW__
_UNICODE

之后,将以下库从“<path to wxwidgets>\lib\vc_<lib\dll>

添加到您的项目中

wxbase30u_net
wxmsw30u_core
wxbase30u
wxtiff
wxjpeg
wxpng
wxzlib
wxregexu
wxexpat
wxmsw30u_adv

根据您编译的选项,库名称可能略有不同。

我想我已经涵盖了运行wxWidgets的所有步骤。

即使您遇到错误,也可以在“minimal”中查看<path to wxwidgets>\samples项目 目录。尝试运行该项目,即使您遇到错误,也无法正确构建wxwidgets。

希望这会有所帮助。