Я дошел до того, что могу скомпилировать следующее:
helloworld.hpp:
Код: Выделить всё
#include
#ifndef WX_PRECOMP
#include
#endif
class HelloWorldApp : public wxApp {
public:
virtual bool OnInit();
};
DECLARE_APP(HelloWorldApp)
Код: Выделить всё
#include "helloworld.hpp"
IMPLEMENT_APP(HelloWorldApp)
bool HelloWorldApp::OnInit() {
wxFrame *frame = new wxFrame((wxFrame*) NULL, -1, _T("Hello wxWidgets World"));
frame->CreateStatusBar();
frame->SetStatusText(_T("Hello World"));
frame->Show(true);
SetTopWindow(frame);
return true;
}
Однако, как только я пытаюсь его запустить (
Код: Выделить всё
./hello
Код: Выделить всё
objc[92442]: Class wxNSSomething is implemented in both
/usr/local/Cellar/wxmac/3.0.5.1_1/lib/something.dylib (0x10bd00c50)
and /usr/local/opt/wxmac/lib/something.dylib (0x10b329c50). One of the two
will be used. Which one is undefined.
Код: Выделить всё
./src/common/object.cpp(251): assert "classTable->Get(m_className) == NULL"
failed in Register(): Class "wxSomething" already in RTTI table -
have you used IMPLEMENT_DYNAMIC_CLASS() multiple times or linked some object file twice)?
Мне кажется, что у меня установлены две версии в двух разных одновременно ( следовательно, «Класс реализован как в ..., так и в ...»). Но если я удалю версию Hombrew, она избавится от всего, что приводит к сбою компиляции.
Я пробовал различные возможные исправления из Интернета, но ни одно из них не помогло.
Я не совсем понимаю, что здесь делать. Кто-нибудь еще испытывал это раньше? Что мне делать, чтобы это исправить?
Мой Mac — Intel и работает под управлением MacOS 11.2.3.
Подробнее здесь: https://stackoverflow.com/questions/667 ... s-on-a-mac