【发布时间】:2018-04-24 01:05:46
【问题描述】:
我编写了一个 C++ 代码,它的 GUI 是用 wxWidgets 3.1 实现的,并且我在 Windows 上运行。作为一个跨平台的解决方案,我尝试在 MacOS 上编译项目。 我遇到了几个问题:
- wxWindow::SetDoubleBuffered 似乎没有在 MacOS 上实现(在 Linux 上也是如此吗?)。我可以绕过并关闭双缓冲,但代价是为 Mac 用户绘制的绘图中出现一些闪烁。这并不理想:Mac / Linux 是否有类似的东西?
- 构造函数 wxBitmap(const wxImage &image, const wxDC &dc) 在 MacOS 上似乎也不存在。我使用它能够在从 C 样式的 RGB 三元组数组创建的 wxImage 上使用“dc.DrawBitmap”(与 dc.SetUserScale 结合)。 Mac 用户如何使用 wxWidgets 在屏幕上显示像素数组?
- 显然 MacOS 上没有 wxString 到 std::string 的转换(
no viable conversion from 'wxString' to 'std::string'错误)。它甚至是特定于操作系统的吗? - (次要细节):
error: use of undeclared identifier 'sample_xpm' : SetIcon(wxICON(sample));似乎 sample_xpm 是 Windows 上可用的默认图标,而不是 MacOS....(?)。
感谢您的帮助!
【问题讨论】:
-
你是如何在 OSX 上构建库的? IE。你通过了哪些配置选项?您在哪个 OSX 版本上试用该程序?您是否尝试查看 OSX 的绘图示例中是否仍然存在问题?关于转换 - 你看到wiki.wxwidgets.org/Converting_everything_to_and_from_wxString了吗?图标 - 您是否尝试在软件上使用示例图标?
标签: c++ cross-platform wxwidgets