【发布时间】:2017-04-19 11:24:56
【问题描述】:
在 Mac OS X El Capitan (10.11) 上使用 wxWidgets 3.1.0 是否存在任何已知问题?我能够毫无问题地编译它,并且我的示例应用程序的导入正在解决(没有构建错误),但是在启动时我得到一个即时的分段错误。我正在尝试运行文档中提供的minimal sample。它构建时没有任何错误,但运行时会立即崩溃。
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000001
线程0系统显示的错误:
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libstdc++.6.dylib 0x00007fff932ee71a std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::assign(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&) + 26
1 libwx_osx_cocoau_core-3.1.dylib 0x0000000109eee003 wxNonOwnedWindow::Create(wxWindow*, int, wxPoint const&, wxSize const&, long, wxString const&) + 67
2 libwx_osx_cocoau_core-3.1.dylib 0x0000000109ef2321 wxTopLevelWindowMac::Create(wxWindow*, int, wxString const&, wxPoint const&, wxSize const&, long, wxString const&) + 49
3 WxTestApp 0x0000000109eb7aec wxFrame::wxFrame(wxWindow*, int, wxString const&, wxPoint const&, wxSize const&, long, wxString const&) + 140 (frame.h:35)
4 WxTestApp 0x0000000109eb7501 MyFrame::MyFrame(wxString const&) + 129 (main.cpp:145)
5 WxTestApp 0x0000000109eb744d MyFrame::MyFrame(wxString const&) + 29 (main.cpp:180)
6 WxTestApp 0x0000000109eb7366 MyApp::OnInit() + 102 (main.cpp:127)
7 libwx_osx_cocoau_core-3.1.dylib 0x0000000109ee962e wxApp::CallOnInit() + 158
8 libwx_baseu-3.1.dylib 0x000000010a5d1bf9 wxEntry(int&, wchar_t**) + 121
9 WxTestApp 0x0000000109eb7216 main + 38 (main.cpp:108)
10 libdyld.dylib 0x00007fff998c25ad start + 1
main.cpp 的第 108 行是:
wxIMPLEMENT_APP(MyApp);
这是一个已知问题,还是需要根据文档中提供的最小示例进行调整?我想知道这是否与System Integrity Protection 安全功能有关。
【问题讨论】:
-
我认为 wxWidgets 不再适用于 Mac,因为 3.02 无法完全建立在 10.11 之上。
-
不确定这是否与您的问题完全相关,但是当我将 gcc 从 4.8 升级到 5.1 时,我在 Windows 10 上遇到了 wxWidgets 问题。该程序正在正确构建,但在运行时它尤其崩溃带有颜色选择小部件。我已经降级到 4.8,一切正常。
-
@Dan,你说的是位于 wxWidgets/samples/minimal 的最小样本吗? wxWidgets 发行版附带的那个?另外,我想知道您为构建库配置的线路是什么?
-
@Igor 是的,就是那个(我在帖子中链接到它)。我只是使用 ./configure 没有参数
-
为了澄清,我使用 ./configure 没有参数来构建 wxWidgets 库。我使用 CMake 构建最小示例,并且没有链接器/构建错误(我使用 find_package 拉入 wx)。