【问题标题】:wxWidgets - wxUSE_UNICODE_MSLU not defined when building minimal sample using binary in Visual StudiowxWidgets - 在 Visual Studio 中使用二进制构建最小示例时未定义 wxUSE_UNICODE_MSLU
【发布时间】:2022-01-10 15:57:48
【问题描述】:

我正在尝试在 Windows 上构建最小的 wxWidgets 示例,使用 Visual Studio 2019 社区版,遵循 this page 中关于使用 wxwidget 二进制文件的说明

  • 我在 Visual Studio 中打开了“minimal_vc9.vcxproj”文件。 Visual Studio 升级项目文件。
  • 然后我将wxwidgets.props属性文件添加到属性管理器中,然后尝试构建(Build | Build Solution

它失败并出现以下错误:

1>C:\Users\Administrator\Desktop\wxwidgets\include\wx\msw\chkconf.h(91,1): 
fatal error C1189: #error:  "wxUSE_UNICODE_MSLU must be defined."

我正在尝试帮助一位了解 C++ 并使用 Windows 进行设置的朋友,但我不知道该怎么做。请注意,他和我都是使用 Visual Studio 的新手,我找不到任何关于如何通过谷歌搜索解决此问题的参考资料。

注意我使用的是最小的项目文件(那里没有解决方案文件),并且可以看到在它的配置中它在 `Project | 中显示“使用 Unicode 字符集”。属性 |字符集”

编辑:我附上了我们下载的 IDE/文件的图片,我相信是 3.1.5 版本,即截至 2021 年 12 月 4 日的发布版本?

【问题讨论】:

  • 可能就像在项目设置中定义该符号一样简单。在解决方案资源管理器中右键单击项目,选择“属性”并导航到“C/C++”和“预处理器”。然后在预处理器定义列表中添加wxUSE_UNICODE_MSLU(可能后跟; 分隔符)。
  • @adrianmole,它不应该是必需的。

标签: visual-studio-2019 wxwidgets


【解决方案1】:

看起来您使用的是 wxWidgets 3.0,因为从 v3.1.0 到 8 年前,对 MSLU 的支持已被删除。请下载 3.1.5 二进制文件并打开 minimal.vcxproj 项目文件以构建示例,如果您开始使用 wx 开发,真的没有理由使用 10 年前的版本。

另外,完全不相关,但使用管理员帐户进行开发被认为是一个坏主意。 wxWidgets 当然不需要任何特殊权限。

【讨论】:

  • 感谢您的反馈 - 我的朋友带着他的电脑离开了,所以我无法验证,但我确实给自己发了一张问题的图片,并且可以看到它确实出现在 3.1我们下载了 .5 个二进制文件 - 下次见到他时我会再次与他核对!
  • 您的屏幕截图显示的是 3.1.5 存档,但您在编辑器中打开的 setup.h 文件来自 3.0。我不知道它是怎么发生的,但你一定没有在正确的地方解压档案。您应该完全删除 C:\Users\Administrator\Desktop\wxwidgets 的现有内容并再次解压 3.1.5 存档。
  • 一定是它?当我有我的朋友再次出现时,我会按照你的建议做......谢谢!
【解决方案2】:

我 自己构建库非常容易。

下载源代码存档并将其解压缩,例如c:\wxWidgets

启动 msvc,执行 ^File->Open",导航到 c:\wxWidgets\build\msw 并打开文件 wx_vc15.sln

选择“Build->Batch Build...”,点击“Select All”,然后“Build”。

构建成功后,打开c:\wxWidgets\samples\minimal\minimal_vc9.sln,让msvc转换,选择“Build->Build Solution”。

然后当一切准备就绪后,创建一个项目作为“桌面应用程序”,应用属性文件并开始编码。

谢谢。

【讨论】:

    猜你喜欢
    • 2011-08-17
    • 1970-01-01
    • 2014-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-26
    • 1970-01-01
    相关资源
    最近更新 更多