在Microsoft Visual Studio 2017中设置wxWidgets

时间:2017-12-29 19:21:25

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

我一直在努力弄清楚如何在Microsoft Visual Studio 2017中设置wxWidgets大约20个小时。我已经跟着:

https://wiki.wxwidgets.org/Microsoft_Visual_C%2B%2B_Guide

https://raw.githubusercontent.com/wxWidgets/wxWidgets/WX_3_0_BRANCH/docs/msw/install.txt

以及其他众多网站如何设置它。我甚至关注过这个网站上的一些帖子和youtube:

How to set up wxWidgets 3.1.0 with Visual Studio 2015

我确实陷入了困境: 我是从源代码编译的。我相信我没有问题。我静态编译了它(DEBUG / RELEASE)......

每次我按照教程和帖子,我都会得到非常奇怪的消息......

是否会有任何人心痛烦心地花些时间向我展示如何为Microsoft Visual Studio 2017(项目设置或其他东西)设置wxWidgets?

每个答案都将受到赞赏:|

很抱歉没有向你们提供足够的信息。

https://wiki.wxwidgets.org/Microsoft_Visual_C%2B%2B_Guide

按照上述链接...“手动创建新项目”无效

使用“从示例创建新项目”:

使用最小样本而不是internat,因为它有一个解决方案文件(internat没有)......

我修改了.sln和.vcxproj文件(用wxWidgets目录替换了../ .. ....)当试图编译一些简单的代码时出现了很多错误,例如:“无法打开源文件”wx。 wx.h“。所以我去了项目属性/ vc ++目录并指定了include和lib位置

包含目录: C:\的wxWidgets-3.1.0 /包括 C:\的wxWidgets-3.1.0 /包含/ MSVC

图书馆目录 C:\的wxWidgets-3.1.0 / LIB / vc_lib

然后我得到 LOTS 错误,例如“无法打开C:\ wxWidgets-3.1.0 \ samples.RC

所以我打开了项目文件作为记事本并添加了source.rc位置:

的ItemGroup     ResourceCompile Include =“C:\ wxWidgets-3.1.0 \ samples \ sample.rc”/ 并且source.rc消失了,但仍有50个错误:

(例如,错误C2491'wxBitmapButton :: ms_classInfo':dllimport静态数据成员的定义不允许核心C:\ wxWidgets-3.1.0 \ src \ common \ bmpbtncmn.cpp 71)

有没有简单的方法来设置wxWidgets?

How to set up wxWidgets 3.1.0 with Visual Studio 2015

在上面的链接中,第一个答案的底部“下一步是将samples \ minimal文件夹复制到某处并开始编写代码。您只需要更改Include和Lib搜索路径。” / p>

我真的不明白他的意思。我真的需要进一步澄清。它可以解决我遇到的所有可怕错误。

这个“问题”可能超级凌乱,但我除了向更有经验的程序员寻求帮助外别无选择......

不要这么快就放弃我:3

6 个答案:

答案 0 :(得分:1)

要在应用程序中使用wxWidgets,像往常一样创建一个新的Win32项目,然后将$WXWIN\include\msvc;$WXWIN\include添加到编译器选项(“Properties | C ++ | General | Additional Include Directories”)和$WXWIN\lib\vc_lib到链接器选项(“属性|链接器|其他库目录”)。这就是全部(并且记录在案here)。

如果您将wxWidgets用作DLL,请将WXUSINGDLL添加到定义列表中,并将vc_lib替换为vc_dll

答案 1 :(得分:0)

尝试使用VS2017的预编译二进制文件。 在C ++目录上: 添加/包含 添加/ lib 显然,分别是wxWidgets的头文件和库。 最后,将wxWidgets的基础和核心库文件链接到您的项目。 从wxWidgets的官方网站上写一些标准的基本示例。 一切都应该运行良好。

答案 2 :(得分:0)

我已经和您一样尝试了许多小时,最后的问题是我的库是x64,并且我已经在Visual Studio中设置了x86(在主窗口中,位于“调试”按钮的左侧) 。万一有帮助

答案 3 :(得分:0)

因此,使用任何xxxVC15.sln文件,要消除我所有的各种构建错误,要做的就是去工具->获取工具和功能并安装“ Windows 8.1 SDK和UCRT SDK”

我遇到的第一个错误是与Windows 8 SDK相关,但是此后出现了很多“找不到xyz”错误。刚开始使用Visual Studio,但显然在2015年至2017年之间,Visual Studio更改了C库的位置/查找点,这会导致wxMSW .sln文件中的问题。安装“ Windows 8.1 SDK和UCRT SDK”已针对

进行了修复

答案 4 :(得分:0)

在Visual Studio 2019上编译wxWidgets“ Hello world” Debug x64所需要做的全部工作:

  1. 安装wxWidget
  2. 使用<wx_dir>\build\msw\wx_vc12.sln和x64 Debug and Release配置与VS19一起构建
  3. 关闭VS
  4. 在新的VS实例中-创建一个新的空项目
  5. 添加main.cpp并在其中添加来自https://docs.wxwidgets.org/stable/overview_helloworld.html的代码
  6. wxIMPLEMENT_APP(MyApp);的行更改为wxIMPLEMENT_APP_CONSOLE(MyApp);
  7. 进行一些项目设置:
    • 添加到с/с++->常规->其他包含目录-<wx_dir>\include and <wx_dir>\include\msvc
    • 添加到链接器->常规->其他库目录-<wx_dir>\lib\vc_x64_lib
    • 对于调试,添加到链接器->输入->其他依赖项-wxmsw30ud_core.lib;wxbase30ud.lib;
    • с/с++->语言->一致性模式-设置为“否”。这可以帮助我解决错误wxStrcoll: identifier not found

希望它将对您有帮助。

答案 5 :(得分:0)

按照所有说明进行操作后,出现相同的问题。通过重新启动机器来解决。我正在遵循一个教程,该教程让我为wxWidgets设置了一个环境变量,并在“其他包含目录”下的项目属性中使用了该变量。看起来不错-当我调出cmd并回显%WXWIN%时,它显示了正确的目录,因此看起来好像不需要重新启动就可以应用,但是Visual Studio给出了无法打开“ wx \ wx.h”的错误。即使在重新启动VS之后。

所以,我重新启动了整个机器,现在一切正常。