我已经下载了使用Linux IDE / Editor(或者 NOT Windows )创建的c ++开源应用程序,并且不再支持它。
这次我想使用VS 2010编辑和重新编译它。
遗留的错误(大部分以“wx”为前缀),例如:
等......让我觉得这都是关于wxWidgets的。
成功构建wxWidgets之后,接下来该怎么做才能将它集成到实际的c ++程序中,以便能够使用VS 2010进行编辑和编译?
我在2年前使用BorlandC ++但不熟悉GUI包。
答案 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。
希望这会有所帮助。