gpt4 book ai didi

c++ - wxWidgets 3.1.0 和 Mac OS X El Capitan (10.11)

转载 作者:行者123 更新时间:2023-11-30 05:19:47 25 4
gpt4 key购买 nike

在 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 3.1.0 确实可以在 macOS 10.11 上运行,这看起来像是一个构建问题,因为没有任何理由让代码在 std::string::assign() 中崩溃。

您提到您使用 CMake 构建了最小样本。我不知道你到底是怎么做到的,因为我们没有为示例提供 CMakefiles(无论如何),而是使用构建目录中的简单 make -C samples/minimal 构建它应该绝对有效。

顺便说一句,看起来您是直接在源目录中构建的。这应该仍然有效,但如果你这样做很容易出错(而且不容易发现),所以我强烈建议在单独的构建目录中构建,例如mkdir -p ~/build/wx-3.1.0 && cd $_ && ~/src/wx/3.1.0/configure && make(当然,假设你的源代码在这个目录中) .

关于c++ - wxWidgets 3.1.0 和 Mac OS X El Capitan (10.11),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40967978/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com