【问题标题】:wxWidgets setup in Microsoft Visual Studio 2017Microsoft Visual Studio 2017 中的 wxWidgets 设置
【发布时间】:2018-06-10 04:16:03
【问题描述】:

我花了大约 20 个小时试图弄清楚如何在 Microsoft Visual Studio 2017 中设置 wxWidgets。我已经关注了:

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++ 目录并指定了包含和库的位置

包括目录: C:\wxWidgets-3.1.0/include C:\wxWidgets-3.1.0/include/msvc

库目录 C:\wxWidgets-3.1.0/lib/vc_lib

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

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

项目组 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 搜索路径。”

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

这个“问题”可能非常混乱,但我别无选择,只能向更有经验的程序员寻求帮助......

别这么快就放弃我:3

【问题讨论】:

  • 请更新您的问题,以指明具体教程中出现问题的具体步骤以及完整的错误消息。
  • 请发布更多信息,例如前几个错误的副本
  • @DefenceWarfare,请发布您收到的错误。此外,要检查编译 - 尝试编译并运行库提供的最小示例。如果编译并运行良好 - 一切正常,您可以开始开发。
  • @Igor 示例文件中的最小程序编译得很好。我不知道如何在 mvs 中正确设置项目...有什么想法吗?
  • @DefenceWarfare,如果最小样本编译得很好并且可以执行,那么你就完成了构建库。要设置您自己的项目,建议将最小示例解决方案复制到某个目录并开始放入一些代码。您在这样做时遇到了什么问题?

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


【解决方案1】:

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

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

【讨论】:

  • 这是我尝试的第一件事。我又试了一次,我得到了诸如 wx/wx.h 源找不到之类的错误,等等......关于我能做什么的任何想法?
  • 检查您的WXWIN 环境变量是否已定义,必要时重新启动MSVS。但是没有什么神奇的:如果你使用正确的路径指向包含wx/wx.h 的目录,它被找到。如果你不 - 它不会。
  • 我已经定义了 WXWIN 环境变量。我严重坚持这一点。我已经关注了很多视频和指南,但我仍然没有弄清楚。
  • 您不需要任何视频,只需一个(正确的)指南就足够了。你犯了一些愚蠢的错误,比如在某个地方有错字,你只需要找到它。我们都会犯错误,这是不可避免的,你只需要学会找出并纠正它们。同样,如果您在编译器选项中放置了正确的包含路径,则会找到头文件 。因此,如果不是,则路径不正确。再检查一遍。
  • wiki.wxwidgets.org/Microsoft_Visual_C%2B%2B_Guide ... 查看“手动创建新项目”部分。它比您所说的要复杂得多...即使是示例文件夹中的最小项目,属性中也添加了更多内容。我不认为这可能是一个错字或什么的,因为我已经做了大约 15 次......
【解决方案2】:

我已经尝试了很多小时,就像你一样,最后问题是我的库是 x64 并且我在 Visual Studio 中设置了 x86(在主窗口中,在按钮 Debug 的左侧) .以防万一

【讨论】:

    【解决方案3】:

    因此,使用任何 xxxVC15.sln 文件,我只需转到工具 -> 获取工具和功能并安装“Windows 8.1 SDK 和 UCRT SDK”即可删除所有各种构建错误。

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

    【讨论】:

      【解决方案4】:

      在 Visual Studio 2019 上编译 wxWidgets "Hello world" Debug x64 所需的一切:

      1. 安装 wxWidget
      2. 使用 <wx_dir>\build\msw\wx_vc12.sln 和 x64 调试和发布配置通过 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】:

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

        【讨论】:

          【解决方案6】:

          按照所有说明操作后遇到了同样的问题。通过重新启动我的机器来修复。我正在关注一个教程,该教程让我为 wxWidgets 设置了一个环境变量,并在 Additional Include Directories 下的项目属性中使用它。它看起来很好 - 当我打开 cmd 并回显 %WXWIN% 时,它显示了正确的目录,所以看起来它不需要重新启动就可以应用,但是 Visual Studio 给出了无法打开“wx\wx.h”的错误即使在重新启动 VS 之后。

          所以,我重新启动了整台机器,现在它工作正常了。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2017-09-13
            • 2019-07-22
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多