【问题标题】:Configuring VC++ for WxWidgets为 WxWidgets 配置 VC++
【发布时间】:2018-11-25 13:03:46
【问题描述】:

我正在尝试关注this guide 为 WxWidgets 配置 VC++。我被困在这里。

所以对于Core wxWidgets libraries to include,我确实在链接器>>输入>>附加依赖项下包含了wxmsw31u[d]_core.libwxbase31u[d].lib。就这些吧?

至于Linking with correct runtime library,有人能告诉我这是怎么做到的吗?我设法到达这里,但不知道如何设置指示的设置。

请帮忙。我真的很感激。

【问题讨论】:

    标签: visual-c++ wxwidgets


    【解决方案1】:

    当您想要调试您的应用程序时,调试器必须知道每个函数在编译代码中的位置。用行话来说,就是“调试符号”。 Windows 将这些符号放入已编译的可执行文件中,而 Linux 使用另一个符号,.devfile。

    当您编译代码(您的应用程序或 wxWidgets 库)时,您必须告诉编译器您想要“调试”版本还是“发布”版本。
    如果您希望调试器能够单步执行 wxWidgets 代码,那么您必须在“调试”模式下编译 wxWidgets,这会将字符 d 添加到构建的库文件中。因此,您必须将 wxmsw31ud_core.lib 添加到您的应用程序依赖项中。注意u_ 之间的d。使用文件资源管理器查看 wxWidgets 编译过程生成的所有文件。

    也许您不希望所有这些 wxWidgets “调试”。然后使用另一个 wxWidgets 编译路径并添加 wxmsw31u_core.lib 而不是 d'd 版本。你仍然可以在调试模式下编译你自己的应用程序,但不能单步调试 wxWidgets 内部。

    现在对于您的应用程序,a) 您想要一个还包含 wxWidgets 代码的可执行文件吗?或 b) 让您的应用程序在 .exe 文件中,该文件根据需要使用外部 .dll 文件?
    a) 称为“静态链接”,b) 称为“动态链接”

    如您所见,调试/发布和静态/动态有四种组合。您必须选择一个“运行时库”来链接到您的应用。

    wiki 中的表格显示了要在您的应用中使用的开关和 MSVC 库(在“属性”页面中选择所需的组合);如果您使用 nmake 而不是 VS 中已经提供的配置,则构建 wxWidgets 所需的宏定义。

    查看 docs\msw\install.txt 了解更多信息。

    我给出的最佳建议是,您可以研究“最小”示例项目。将其加载到 VS 并阅读每个选项。您甚至可以制作副本、更改一些文件名并将其用于您自己的应用程序。

    【讨论】:

      【解决方案2】:

      我建议使用 official instructions 而不是 wiki,它们更简单,如果您查看最后一段,您会发现您甚至不必手动将库与 MSVC 链接。

      您也不需要做任何特殊的事情来链接正确版本的 CRT,默认值就可以了。

      【讨论】:

      • 谢谢!!!我不知道 Wiki 页面不是 WxWidgets 的官方文档。
      猜你喜欢
      • 1970-01-01
      • 2015-03-16
      • 1970-01-01
      • 2011-08-23
      • 1970-01-01
      • 2020-05-16
      • 1970-01-01
      • 2017-05-10
      • 2012-09-02
      相关资源
      最近更新 更多