Page 1 of 2

Compiling wxWidgets 3.1.2 on macOS Mojave

Posted: Wed Jan 09, 2019 5:00 pm
by NoeMurr
Hi all,

I'm trying to compile wxwidgets 3.1.2 under macOS, the problem is that I cannot find the correct configurations.
I have tryed with a many configurations, some of them give me syntax error on building others give me linking error...

Is there a "standard" set of configurations that should be used for macOS 10.14?

Re: Compiling wxWidgets 3.1.2 on macOS Mojave

Posted: Wed Jan 09, 2019 6:20 pm
by ONEEYEMAN
Hi,
What configuration(s) did you tried?
What error message(s) did you get?
What wxWidgets version(s) did you try to compile?

Thank you.

Re: Compiling wxWidgets 3.1.2 on macOS Mojave

Posted: Thu Jan 10, 2019 5:24 pm
by NoeMurr
Hi,
The version of wxWidgets library is the 3.1.2 (latest development release https://www.wxwidgets.org/downloads/).
The latest configuration that I've tryed is:

Code: Select all

../configure --with-osx_cocoa --with-macosx-version-min=10.14 --with-macosx-sdk=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk --prefix="$(pwd)" --disable-shared
and the error was a lining error:

Code: Select all

ld: warning: ignoring file /Users/<username>/Desktop/wxWidgets-3.1.2/release/lib/libwx_baseu_xml-3.1.a, file was built for archive which is not the architecture being linked (x86_64): /Users/<username>/Desktop/wxWidgets-3.1.2/release/lib/libwx_baseu_xml-3.1.ald: warning: ignoring file /Users/<username>/Desktop/wxWidgets-3.1.2/release/lib/libwxregexu-3.1.a, file was built for archive which is not the architecture being linked (x86_64): /Users/<username>/Desktop/wxWidgets-3.1.2/release/lib/libwxregexu-3.1.a

ld: warning: ignoring file /Users/<username>/Desktop/wxWidgets-3.1.2/release/lib/libwx_baseu-3.1.a, file was built for archive which is not the architecture being linked (x86_64): /Users/<username>/Desktop/wxWidgets-3.1.2/release/lib/libwx_baseu-3.1.a
Undefined symbols for architecture x86_64:
  "wxOnAssert(char const*, int, char const*, char const*, wchar_t const*)", referenced from:
      XmlResApp::Validate() in wxrc_wxrc.o
      XmlResApp::PrepareTempFiles() in wxrc_wxrc.o
      XmlResApp::MakePackageCPP(wxArrayString const&) in wxrc_wxrc.o
      XmlResApp::MakePackagePython(wxArrayString const&) in wxrc_wxrc.o
      XmlResApp::DeleteTempFiles(wxArrayString const&) in wxrc_wxrc.o
      XmlResApp::FindStrings() in wxrc_wxrc.o
  "wxOnAssert(char const*, int, char const*, char const*, char const*)", referenced from:
      XmlResApp::MakePackageCPP(wxArrayString const&) in wxrc_wxrc.o
      XmlResApp::MakePackagePython(wxArrayString const&) in wxrc_wxrc.o
      XmlResApp::GetInternalFileName(wxString const&, wxArrayString const&) in wxrc_wxrc.o
      wxBaseObjectArray<XRCWndClassData, wxObjectArrayTraitsForArrayOfXRCWndClassData>::Add(XRCWndClassData const&, unsigned long) in wxrc_wxrc.o
      int wxString::Printf<unsigned int, unsigned int, wxCStrData>(wxFormatString const&, unsigned int, unsigned int, wxCStrData) in wxrc_wxrc.o
      XmlResApp::FindStrings() in wxrc_wxrc.o
      int wxString::Printf<int, wxString>(wxFormatString const&, int, wxString) in wxrc_wxrc.o
      ...
  "wxPathOnly(wxString const&)", referenced from:
      XmlResApp::ParseParams(wxCmdLineParser const&) in wxrc_wxrc.o
  "wxFileExists(wxString const&)", referenced from:
      XmlResApp::Validate() in wxrc_wxrc.o
      XmlResApp::CompileRes() in wxrc_wxrc.o
      XmlResApp::GetInternalFileName(wxString const&, wxArrayString const&) in wxrc_wxrc.o
  "wxRemoveFile(wxString const&)", referenced from:
      XmlResApp::CompileRes() in wxrc_wxrc.o
      XmlResApp::DeleteTempFiles(wxArrayString const&) in wxrc_wxrc.o
  "wxIsAbsolutePath(wxString const&)", referenced from:
      XmlResApp::FindFilesInXML(wxXmlNode*, wxArrayString&, wxString const&) in wxrc_wxrc.o
  "wxFileNameFromPath(wxString const&)", referenced from:
      XmlResApp::GetInternalFileName(wxString const&, wxArrayString const&) in wxrc_wxrc.o
  "wxGet_wxConvLibcPtr()", referenced from:
      wxString::operator=(char const*) in wxrc_wxrc.o
      wxString::wxString(char const*) in wxrc_wxrc.o
  "wxSetWorkingDirectory(wxString const&)", referenced from:
      XmlResApp::MakePackageZIP(wxArrayString const&) in wxrc_wxrc.o
  "wxPuts(wxString const&)", referenced from:
      XmlResApp::Validate() in wxrc_wxrc.o
  "wxEntry(int&, char**)", referenced from:
      _main in wxrc_wxrc.o
  "wxGetCwd()", referenced from:
      XmlResApp::MakePackageZIP(wxArrayString const&) in wxrc_wxrc.o
  "wxGetEnv(wxString const&, wxString*)", referenced from:
      XmlResApp::Validate() in wxrc_wxrc.o
  "wxExecute(wxString const&, int, wxProcess*, wxExecuteEnv const*)", referenced from:
      XmlResApp::Validate() in wxrc_wxrc.o
      XmlResApp::MakePackageZIP(wxArrayString const&) in wxrc_wxrc.o
  "wxFileName::Assign(wxString const&, wxPathFormat)", referenced from:
      wxFileName::wxFileName(wxString const&, wxPathFormat) in wxrc_wxrc.o
  "wxFileName::Normalize(int, wxString const&, wxPathFormat)", referenced from:
      XmlResApp::ParseParams(wxCmdLineParser const&) in wxrc_wxrc.o
  "wxFileName::SplitPath(wxString const&, wxString*, wxString*, wxString*, wxPathFormat)", referenced from:
      XmlResApp::PrepareTempFiles() in wxrc_wxrc.o
  "wxFileType::~wxFileType()", referenced from:
      XmlResApp::MakePackageCPP(wxArrayString const&) in wxrc_wxrc.o
  "wxAppConsole::Initialize(int&, wchar_t**)", referenced from:
      vtable for XmlResApp in wxrc_wxrc.o
  "wxAppConsole::wxAppConsole()", referenced from:
      XmlResApp::XmlResApp() in wxrc_wxrc.o
  "wxAppConsole::~wxAppConsole()", referenced from:
      XmlResApp::XmlResApp() in wxrc_wxrc.o
      XmlResApp::~XmlResApp() in wxrc_wxrc.o
  "wxEvtHandler::QueueEvent(wxEvent*)", referenced from:
      vtable for XmlResApp in wxrc_wxrc.o
  "wxEvtHandler::ProcessEvent(wxEvent&)", referenced from:
      vtable for XmlResApp in wxrc_wxrc.o
  "wxEvtHandler::DoSetClientData(void*)", referenced from:
      vtable for XmlResApp in wxrc_wxrc.o
  "wxEvtHandler::SearchEventTable(wxEventTable&, wxEvent&)", referenced from:
      vtable for XmlResApp in wxrc_wxrc.o
  "wxEvtHandler::DoSetClientObject(wxClientData*)", referenced from:
      vtable for XmlResApp in wxrc_wxrc.o
  "wxEvtHandler::TryAfter(wxEvent&)", referenced from:
      vtable for XmlResApp in wxrc_wxrc.o
  "wxEvtHandler::TryBefore(wxEvent&)", referenced from:
      vtable for XmlResApp in wxrc_wxrc.o
  "wxStringHash::stringHash(wchar_t const*)", referenced from:
      XRCWndClassData::GenerateHeaderCode(wxFFile&) in wxrc_wxrc.o
      StringSet_wxImplementation_HashTable::GetBucketForNode(StringSet_wxImplementation_HashTable*, StringSet_wxImplementation_HashTable::Node*) in wxrc_wxrc.o
      StringSet_wxImplementation_HashTable::GetOrCreateNode(wxString const&, bool&) in wxrc_wxrc.o
  "wxArrayString::Add(wxString const&, unsigned long)", referenced from:
      XmlResApp::ParseParams(wxCmdLineParser const&) in wxrc_wxrc.o
      XmlResApp::PrepareTempFiles() in wxrc_wxrc.o
      XmlResApp::FindFilesInXML(wxXmlNode*, wxArrayString&, wxString const&) in wxrc_wxrc.o
  "wxArrayString::Init(bool)", referenced from:
      XmlResApp::PrepareTempFiles() in wxrc_wxrc.o
      XmlResApp::XmlResApp() in wxrc_wxrc.o
      wxFileName::wxFileName(wxString const&, wxPathFormat) in wxrc_wxrc.o
  "wxArrayString::~wxArrayString()", referenced from:
      XmlResApp::CompileRes() in wxrc_wxrc.o
      XmlResApp::PrepareTempFiles() in wxrc_wxrc.o
      wxFileName::wxFileName(wxString const&, wxPathFormat) in wxrc_wxrc.o
      wxFileName::~wxFileName() in wxrc_wxrc.o
      XmlResApp::~XmlResApp() in wxrc_wxrc.o
  "wxInputStream::Read(wxOutputStream&)", referenced from:
      XmlResApp::FindFilesInXML(wxXmlNode*, wxArrayString&, wxString const&) in wxrc_wxrc.o
  "wxXmlDocument::Load(wxString const&, wxString const&, int)", referenced from:
      XmlResApp::PrepareTempFiles() in wxrc_wxrc.o
      XmlResApp::FindStrings() in wxrc_wxrc.o
  "wxXmlDocument::wxXmlDocument()", referenced from:
      XmlResApp::PrepareTempFiles() in wxrc_wxrc.o
      XmlResApp::FindStrings() in wxrc_wxrc.o
  "wxFormatString::AsWChar()", referenced from:
      XmlResApp::Validate() in wxrc_wxrc.o
      XmlResApp::PrepareTempFiles() in wxrc_wxrc.o
      XmlResApp::MakePackageCPP(wxArrayString const&) in wxrc_wxrc.o
      XmlResApp::MakePackagePython(wxArrayString const&) in wxrc_wxrc.o
      XmlResApp::MakePackageZIP(wxArrayString const&) in wxrc_wxrc.o
      XmlResApp::GetInternalFileName(wxString const&, wxArrayString const&) in wxrc_wxrc.o
      int wxString::Printf<unsigned int, unsigned int, wxCStrData>(wxFormatString const&, unsigned int, unsigned int, wxCStrData) in wxrc_wxrc.o
      ...
  "wxCmdLineParser::SetCmdLine(int, wxCmdLineArgsArray const&)", referenced from:
      XmlResApp::OnRun() in wxrc_wxrc.o
  "wxCmdLineParser::Init()", referenced from:
      XmlResApp::OnRun() in wxrc_wxrc.o
  "wxCmdLineParser::Parse(bool)", referenced from:
      XmlResApp::OnRun() in wxrc_wxrc.o
  "wxCmdLineParser::SetDesc(wxCmdLineEntryDesc const*)", referenced from:
      XmlResApp::OnRun() in wxrc_wxrc.o
  "wxCmdLineParser::~wxCmdLineParser()", referenced from:
      XmlResApp::OnRun() in wxrc_wxrc.o
  "wxAppConsoleBase::OnLaunched()", referenced from:
      vtable for XmlResApp in wxrc_wxrc.o
  "wxAppConsoleBase::SetCLocale()", referenced from:
      vtable for XmlResApp in wxrc_wxrc.o
  "wxAppConsoleBase::WakeUpIdle()", referenced from:
      vtable for XmlResApp in wxrc_wxrc.o
  "wxAppConsoleBase::FilterEvent(wxEvent&)", referenced from:
      vtable for XmlResApp in wxrc_wxrc.o
  "wxAppConsoleBase::ProcessIdle()", referenced from:
      vtable for XmlResApp in wxrc_wxrc.o
  "wxAppConsoleBase::CreateTraits()", referenced from:
      vtable for XmlResApp in wxrc_wxrc.o
  "wxAppConsoleBase::ExitMainLoop()", referenced from:
      vtable for XmlResApp in wxrc_wxrc.o
  "wxAppConsoleBase::ms_appInitFn", referenced from:
      __GLOBAL__sub_I_wxrc.cpp in wxrc_wxrc.o
  "wxAppConsoleBase::OnCmdLineHelp(wxCmdLineParser&)", referenced from:
      vtable for XmlResApp in wxrc_wxrc.o
  "wxAppConsoleBase::OnInitCmdLine(wxCmdLineParser&)", referenced from:
      vtable for XmlResApp in wxrc_wxrc.o
  "wxAppConsoleBase::OnCmdLineError(wxCmdLineParser&)", referenced from:
      vtable for XmlResApp in wxrc_wxrc.o
  "wxAppConsoleBase::ms_appInstance", referenced from:
      wxGetApp() in wxrc_wxrc.o
  "wxAppConsoleBase::OnAssertFailure(wchar_t const*, int, wchar_t const*, wchar_t const*, wchar_t const*)", referenced from:
      vtable for XmlResApp in wxrc_wxrc.o
  "wxAppConsoleBase::OnCmdLineParsed(wxCmdLineParser&)", referenced from:
      vtable for XmlResApp in wxrc_wxrc.o
  "wxAppConsoleBase::CheckBuildOptions(char const*, char const*)", referenced from:
      wxCreateApp() in wxrc_wxrc.o
  "wxAppConsoleBase::OnUnhandledException()", referenced from:
      vtable for XmlResApp in wxrc_wxrc.o
  "wxAppConsoleBase::ProcessPendingEvents()", referenced from:
      vtable for XmlResApp in wxrc_wxrc.o
  "wxAppConsoleBase::OnExceptionInMainLoop()", referenced from:
      vtable for XmlResApp in wxrc_wxrc.o
  "wxAppConsoleBase::StoreCurrentException()", referenced from:
      vtable for XmlResApp in wxrc_wxrc.o
  "wxAppConsoleBase::RethrowStoredException()", referenced from:
      vtable for XmlResApp in wxrc_wxrc.o
  "wxAppConsoleBase::Exit()", referenced from:
      vtable for XmlResApp in wxrc_wxrc.o
  "wxAppConsoleBase::OnExit()", referenced from:
      vtable for XmlResApp in wxrc_wxrc.o
  "wxAppConsoleBase::CleanUp()", referenced from:
      vtable for XmlResApp in wxrc_wxrc.o
  "wxAppConsoleBase::Pending()", referenced from:
      vtable for XmlResApp in wxrc_wxrc.o
  "wxAppConsoleBase::Dispatch()", referenced from:
      vtable for XmlResApp in wxrc_wxrc.o
  "wxAppConsoleBase::MainLoop()", referenced from:
      vtable for XmlResApp in wxrc_wxrc.o
  "wxAppConsoleBase::OnAssert(wchar_t const*, int, wchar_t const*, wchar_t const*)", referenced from:
      vtable for XmlResApp in wxrc_wxrc.o
  "_wxHashTableBase2::DeleteNodes(unsigned long, _wxHashTable_NodeBase**, void (*)(_wxHashTable_NodeBase*))", referenced from:
      wxLogger::~wxLogger() in wxrc_wxrc.o
      XRCWndClassData::XRCWndClassData(XRCWndClassData const&) in wxrc_wxrc.o
      XRCWndClassData::~XRCWndClassData() in wxrc_wxrc.o
      XRCWndClassData::XRCWndClassData(wxString const&, wxString const&, wxXmlNode const*) in wxrc_wxrc.o
  "_wxHashTableBase2::GetNextPrime(unsigned long)", referenced from:
      XRCWndClassData::XRCWndClassData(XRCWndClassData const&) in wxrc_wxrc.o
      XRCWndClassData::XRCWndClassData(wxString const&, wxString const&, wxXmlNode const*) in wxrc_wxrc.o
      StringSet_wxImplementation_HashTable::CreateNode(wxString const&, unsigned long) in wxrc_wxrc.o
  "_wxHashTableBase2::CopyHashTable(_wxHashTable_NodeBase**, unsigned long, _wxHashTableBase2*, _wxHashTable_NodeBase**, unsigned long (*)(_wxHashTableBase2*, _wxHashTable_NodeBase*), _wxHashTable_NodeBase* (*)(_wxHashTable_NodeBase*))", referenced from:
      XRCWndClassData::XRCWndClassData(XRCWndClassData const&) in wxrc_wxrc.o
      StringSet_wxImplementation_HashTable::CreateNode(wxString const&, unsigned long) in wxrc_wxrc.o
  "_wxHashTableBase2::DummyProcessNode(_wxHashTable_NodeBase*)", referenced from:
      XRCWndClassData::XRCWndClassData(XRCWndClassData const&) in wxrc_wxrc.o
      StringSet_wxImplementation_HashTable::CreateNode(wxString const&, unsigned long) in wxrc_wxrc.o
  "wxFileInputStream::wxFileInputStream(wxString const&)", referenced from:
      XmlResApp::FindFilesInXML(wxXmlNode*, wxArrayString&, wxString const&) in wxrc_wxrc.o
  "wxFileInputStream::~wxFileInputStream()", referenced from:
      XmlResApp::FindFilesInXML(wxXmlNode*, wxArrayString&, wxString const&) in wxrc_wxrc.o
  "wxFileOutputStream::wxFileOutputStream(wxString const&)", referenced from:
      XmlResApp::FindFilesInXML(wxXmlNode*, wxArrayString&, wxString const&) in wxrc_wxrc.o
  "wxFileOutputStream::~wxFileOutputStream()", referenced from:
      XmlResApp::FindFilesInXML(wxXmlNode*, wxArrayString&, wxString const&) in wxrc_wxrc.o
  "wxMimeTypesManager::GetFileTypeFromExtension(wxString const&)", referenced from:
      XmlResApp::MakePackageCPP(wxArrayString const&) in wxrc_wxrc.o
  "wxLog::GetComponentLevel(wxString)", referenced from:
      wxLog::IsLevelEnabled(unsigned long, wxString) in wxrc_wxrc.o
  "wxLog::IsThreadLoggingEnabled()", referenced from:
      wxLog::IsLevelEnabled(unsigned long, wxString) in wxrc_wxrc.o
  "wxLog::OnLog(unsigned long, wxString const&, wxLogRecordInfo const&)", referenced from:
      wxLogger::DoCallOnLog(unsigned long, wxString const&, __va_list_tag*) in wxrc_wxrc.o
  "wxLog::ms_doLog", referenced from:
      wxLog::IsLevelEnabled(unsigned long, wxString) in wxrc_wxrc.o
  "wxFFile::Open(wxString const&, wxString const&)", referenced from:
      XmlResApp::OutputGettext() in wxrc_wxrc.o
  "wxFFile::Read(void*, unsigned long)", referenced from:
      XmlResApp::MakePackageCPP(wxArrayString const&) in wxrc_wxrc.o
      XmlResApp::MakePackagePython(wxArrayString const&) in wxrc_wxrc.o
  "wxFFile::Close()", referenced from:
      XmlResApp::OutputGettext() in wxrc_wxrc.o
      XmlResApp::MakePackageCPP(wxArrayString const&) in wxrc_wxrc.o
      XmlResApp::GenCPPHeader() in wxrc_wxrc.o
      XmlResApp::MakePackagePython(wxArrayString const&) in wxrc_wxrc.o
  "wxFFile::Write(wxString const&, wxMBConv const&)", referenced from:
      XmlResApp::OutputGettext() in wxrc_wxrc.o
      XmlResApp::MakePackageCPP(wxArrayString const&) in wxrc_wxrc.o
      XmlResApp::GenCPPHeader() in wxrc_wxrc.o
      XmlResApp::MakePackagePython(wxArrayString const&) in wxrc_wxrc.o
      XRCWndClassData::GenerateHeaderCode(wxFFile&) in wxrc_wxrc.o
  "wxFFile::wxFFile(wxString const&, wxString const&)", referenced from:
      XmlResApp::MakePackageCPP(wxArrayString const&) in wxrc_wxrc.o
      XmlResApp::GenCPPHeader() in wxrc_wxrc.o
      XmlResApp::MakePackagePython(wxArrayString const&) in wxrc_wxrc.o
  "wxObject::UnRef()", referenced from:
      wxXmlDocument::~wxXmlDocument() in wxrc_wxrc.o
  "wxString::ConvertStr(char const*, unsigned long, wxMBConv const&)", referenced from:
      wxString::ImplStr(char const*, wxMBConv const&) in wxrc_wxrc.o
  "wxString::DoFormatWchar(wchar_t const*, ...)", referenced from:
      wxString wxString::Format<wxString>(wxFormatString const&, wxString) in wxrc_wxrc.o
  "wxString::DoPrintfWchar(wchar_t const*, ...)", referenced from:
      XmlResApp::MakePackageCPP(wxArrayString const&) in wxrc_wxrc.o
      XmlResApp::MakePackagePython(wxArrayString const&) in wxrc_wxrc.o
      XmlResApp::GetInternalFileName(wxString const&, wxArrayString const&) in wxrc_wxrc.o
      int wxString::Printf<unsigned int, unsigned int, wxCStrData>(wxFormatString const&, unsigned int, unsigned int, wxCStrData) in wxrc_wxrc.o
      int wxString::Printf<int, wxString>(wxFormatString const&, int, wxString) in wxrc_wxrc.o
      int wxString::Printf<unsigned char>(wxFormatString const&, unsigned char) in wxrc_wxrc.o
  "wxString::npos", referenced from:
      wxString::ImplStr(char const*, wxMBConv const&) in wxrc_wxrc.o
  "wxString::FormatV(wxString const&, __va_list_tag*)", referenced from:
      wxLogger::DoCallOnLog(unsigned long, wxString const&, __va_list_tag*) in wxrc_wxrc.o
  "wxString::Replace(wxString const&, wxString const&, bool)", referenced from:
      XmlResApp::GetInternalFileName(wxString const&, wxArrayString const&) in wxrc_wxrc.o
  "wxString::Truncate(unsigned long)", referenced from:
      XmlResApp::MakePackageZIP(wxArrayString const&) in wxrc_wxrc.o
  "wxString::MakeLower()", referenced from:
      wxString::Lower() const in wxrc_wxrc.o
  "wxThread::GetCurrentId()", referenced from:
      XmlResApp::Validate() in wxrc_wxrc.o
      XmlResApp::PrepareTempFiles() in wxrc_wxrc.o
      XmlResApp::MakePackageZIP(wxArrayString const&) in wxrc_wxrc.o
      wxLog::IsLevelEnabled(unsigned long, wxString) in wxrc_wxrc.o
      XmlResApp::FindStrings() in wxrc_wxrc.o
  "wxThread::ms_idMainThread", referenced from:
      wxLog::IsLevelEnabled(unsigned long, wxString) in wxrc_wxrc.o
  "wxPrivate::GetUntypedNullData()", referenced from:
      wxString::operator=(char const*) in wxrc_wxrc.o
      wxString::wxString(char const*) in wxrc_wxrc.o
      wxString::ImplStr(char const*, wxMBConv const&) in wxrc_wxrc.o
      wxFormatString::wxFormatString(wxString const&) in wxrc_wxrc.o
      wxFormatString::~wxFormatString() in wxrc_wxrc.o
      wxFormatString::wxFormatString(wchar_t const*) in wxrc_wxrc.o
      wxScopedCharTypeBuffer<wchar_t>::CreateNonOwned(wchar_t const*, unsigned long) in wxrc_wxrc.o
      ...
  "wxUniChar::FromHi8bit(char)", referenced from:
      int wxString::Printf<unsigned char>(wxFormatString const&, unsigned char) in wxrc_wxrc.o
  "wxFileName::GetFullPath(wxPathFormat) const", referenced from:
      XmlResApp::ParseParams(wxCmdLineParser const&) in wxrc_wxrc.o
      XmlResApp::OutputGettext() in wxrc_wxrc.o
      XmlResApp::GenCPPHeader() in wxrc_wxrc.o
  "wxFileType::GetMimeType(wxString*) const", referenced from:
      XmlResApp::MakePackageCPP(wxArrayString const&) in wxrc_wxrc.o
  "wxEvtHandler::GetClassInfo() const", referenced from:
      vtable for XmlResApp in wxrc_wxrc.o
  "wxEvtHandler::GetEventTable() const", referenced from:
      vtable for XmlResApp in wxrc_wxrc.o
  "wxEvtHandler::DoGetClientData() const", referenced from:
      vtable for XmlResApp in wxrc_wxrc.o
  "wxEvtHandler::DoGetClientObject() const", referenced from:
      vtable for XmlResApp in wxrc_wxrc.o
  "wxEvtHandler::GetEventHashTable() const", referenced from:
      vtable for XmlResApp in wxrc_wxrc.o
  "wxArrayString::Index(wxString const&, bool, bool) const", referenced from:
      XmlResApp::GetInternalFileName(wxString const&, wxArrayString const&) in wxrc_wxrc.o
      XmlResApp::FindFilesInXML(wxXmlNode*, wxArrayString&, wxString const&) in wxrc_wxrc.o
  "wxXmlDocument::Save(wxString const&, int) const", referenced from:
      XmlResApp::PrepareTempFiles() in wxrc_wxrc.o
  "wxXmlDocument::GetRoot() const", referenced from:
      XmlResApp::PrepareTempFiles() in wxrc_wxrc.o
      XmlResApp::FindStrings() in wxrc_wxrc.o
  "wxFormatString::InputAsString() const", referenced from:
      wxPrintf(wxFormatString const&) in wxrc_wxrc.o
  "wxFormatString::GetArgumentType(unsigned int) const", referenced from:
      XmlResApp::MakePackageCPP(wxArrayString const&) in wxrc_wxrc.o
      XmlResApp::MakePackagePython(wxArrayString const&) in wxrc_wxrc.o
      XmlResApp::GetInternalFileName(wxString const&, wxArrayString const&) in wxrc_wxrc.o
      int wxString::Printf<unsigned int, unsigned int, wxCStrData>(wxFormatString const&, unsigned int, unsigned int, wxCStrData) in wxrc_wxrc.o
      int wxString::Printf<int, wxString>(wxFormatString const&, int, wxString) in wxrc_wxrc.o
      wxString wxString::Format<wxString>(wxFormatString const&, wxString) in wxrc_wxrc.o
      int wxPrintf<wxString>(wxFormatString const&, wxString) in wxrc_wxrc.o
      ...
  "wxCmdLineParser::GetParamCount() const", referenced from:
      XmlResApp::ParseParams(wxCmdLineParser const&) in wxrc_wxrc.o
  "wxCmdLineParser::Found(wxString const&) const", referenced from:
      XmlResApp::ParseParams(wxCmdLineParser const&) in wxrc_wxrc.o
  "wxCmdLineParser::Found(wxString const&, wxString*) const", referenced from:
      XmlResApp::ParseParams(wxCmdLineParser const&) in wxrc_wxrc.o
  "wxCmdLineParser::GetParam(unsigned long) const", referenced from:
      XmlResApp::ParseParams(wxCmdLineParser const&) in wxrc_wxrc.o
  "wxAppConsoleBase::HandleEvent(wxEvtHandler*, void (wxEvtHandler::*)(wxEvent&), wxEvent&) const", referenced from:
      vtable for XmlResApp in wxrc_wxrc.o
  "wxAppConsoleBase::UsesEventLoop() const", referenced from:
      vtable for XmlResApp in wxrc_wxrc.o
  "wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, wxEvent&) const", referenced from:
      vtable for XmlResApp in wxrc_wxrc.o
  "wxArgNormalizerWchar<wxCStrData const&>::get() const", referenced from:
      int wxString::Printf<unsigned int, unsigned int, wxCStrData>(wxFormatString const&, unsigned int, unsigned int, wxCStrData) in wxrc_wxrc.o
  "wxArgNormalizerWchar<wxString const&>::get() const", referenced from:
      int wxString::Printf<int, wxString>(wxFormatString const&, int, wxString) in wxrc_wxrc.o
      wxString wxString::Format<wxString>(wxFormatString const&, wxString) in wxrc_wxrc.o
      int wxPrintf<wxString>(wxFormatString const&, wxString) in wxrc_wxrc.o
  "wxFFile::Length() const", referenced from:
      XmlResApp::MakePackageCPP(wxArrayString const&) in wxrc_wxrc.o
      XmlResApp::MakePackagePython(wxArrayString const&) in wxrc_wxrc.o
  "wxObject::CloneRefData(wxRefCounter const*) const", referenced from:
      vtable for XmlResApp in wxrc_wxrc.o
  "wxObject::CreateRefData() const", referenced from:
      vtable for XmlResApp in wxrc_wxrc.o
  "wxString::compare(wchar_t const*) const", referenced from:
      XmlResApp::PrepareTempFiles() in wxrc_wxrc.o
      XmlResApp::MakePackageCPP(wxArrayString const&) in wxrc_wxrc.o
      XmlResApp::FindFilesInXML(wxXmlNode*, wxArrayString&, wxString const&) in wxrc_wxrc.o
      XmlResApp::FindStrings(wxString const&, wxXmlNode*) in wxrc_wxrc.o
      GetNodeContentsKind(wxXmlNode&, wxString const&) in wxrc_wxrc.o
      XRCWndClassData::XRCWndClassData(wxString const&, wxString const&, wxXmlNode const*) in wxrc_wxrc.o
      XRCWndClassData::BrowseXmlNode(wxXmlNode*) in wxrc_wxrc.o
      ...
  "wxString::compare(wxString const&) const", referenced from:
      StringSet_wxImplementation_HashTable::GetOrCreateNode(wxString const&, bool&) in wxrc_wxrc.o
  "wxString::EndsWith(wxString const&, wxString*) const", referenced from:
      XRCWndClassData::CanBeUsedWithXRCCTRL(wxString const&) in wxrc_wxrc.o
  "wxString::IsNumber() const", referenced from:
      GetNodeContentsKind(wxXmlNode&, wxString const&) in wxrc_wxrc.o
  "wxXmlNode::GetAttribute(wxString const&, wxString*) const", referenced from:
      XmlResApp::PrepareTempFiles() in wxrc_wxrc.o
      XRCWndClassData::BrowseXmlNode(wxXmlNode*) in wxrc_wxrc.o
  "wxXmlNode::GetAttribute(wxString const&, wxString const&) const", referenced from:
      XmlResApp::FindFilesInXML(wxXmlNode*, wxArrayString&, wxString const&) in wxrc_wxrc.o
      XmlResApp::FindStrings(wxString const&, wxXmlNode*) in wxrc_wxrc.o
      GetNodeContentsKind(wxXmlNode&, wxString const&) in wxrc_wxrc.o
  "typeinfo for wxAppConsole", referenced from:
      typeinfo for XmlResApp in wxrc_wxrc.o
  "vtable for wxConvAuto", referenced from:
      XmlResApp::OutputGettext() in wxrc_wxrc.o
      XmlResApp::MakePackageCPP(wxArrayString const&) in wxrc_wxrc.o
      XmlResApp::GenCPPHeader() in wxrc_wxrc.o
      XmlResApp::MakePackagePython(wxArrayString const&) in wxrc_wxrc.o
      XRCWndClassData::GenerateHeaderCode(wxFFile&) in wxrc_wxrc.o
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "vtable for wxXmlDocument", referenced from:
      wxXmlDocument::~wxXmlDocument() in wxrc_wxrc.o
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "vtable for wxObject", referenced from:
      wxXmlDocument::~wxXmlDocument() in wxrc_wxrc.o
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "non-virtual thunk to wxAppConsoleBase::FilterEvent(wxEvent&)", referenced from:
      vtable for XmlResApp in wxrc_wxrc.o
  "operator+(char const*, wxString const&)", referenced from:
      XmlResApp::OutputGettext() in wxrc_wxrc.o
      XmlResApp::MakePackageCPP(wxArrayString const&) in wxrc_wxrc.o
      XmlResApp::GenCPPHeader() in wxrc_wxrc.o
      XmlResApp::MakePackagePython(wxArrayString const&) in wxrc_wxrc.o
  "operator+(wchar_t const*, wxString const&)", referenced from:
      XmlResApp::PrepareTempFiles() in wxrc_wxrc.o
      XmlResApp::MakePackageCPP(wxArrayString const&) in wxrc_wxrc.o
      XmlResApp::MakePackagePython(wxArrayString const&) in wxrc_wxrc.o
      XmlResApp::MakePackageZIP(wxArrayString const&) in wxrc_wxrc.o
      XmlResApp::FindFilesInXML(wxXmlNode*, wxArrayString&, wxString const&) in wxrc_wxrc.o
      XRCWndClassData::GenerateHeaderCode(wxFFile&) in wxrc_wxrc.o
      XmlResApp::FindStrings() in wxrc_wxrc.o
      ...
  "operator+(wxString const&, wxUniChar)", referenced from:
      XmlResApp::PrepareTempFiles() in wxrc_wxrc.o
      XmlResApp::MakePackageCPP(wxArrayString const&) in wxrc_wxrc.o
      XmlResApp::MakePackagePython(wxArrayString const&) in wxrc_wxrc.o
      XmlResApp::DeleteTempFiles(wxArrayString const&) in wxrc_wxrc.o
      XmlResApp::FindFilesInXML(wxXmlNode*, wxArrayString&, wxString const&) in wxrc_wxrc.o
  "operator+(wxString const&, char const*)", referenced from:
      XmlResApp::Validate() in wxrc_wxrc.o
      XmlResApp::OutputGettext() in wxrc_wxrc.o
      XmlResApp::MakePackageCPP(wxArrayString const&) in wxrc_wxrc.o
      XmlResApp::GenCPPHeader() in wxrc_wxrc.o
      XmlResApp::MakePackagePython(wxArrayString const&) in wxrc_wxrc.o
  "operator+(wxString const&, wchar_t const*)", referenced from:
      XmlResApp::PrepareTempFiles() in wxrc_wxrc.o
      XmlResApp::MakePackageCPP(wxArrayString const&) in wxrc_wxrc.o
      XmlResApp::MakePackagePython(wxArrayString const&) in wxrc_wxrc.o
      XmlResApp::MakePackageZIP(wxArrayString const&) in wxrc_wxrc.o
      XmlResApp::GetInternalFileName(wxString const&, wxArrayString const&) in wxrc_wxrc.o
      XmlResApp::FindFilesInXML(wxXmlNode*, wxArrayString&, wxString const&) in wxrc_wxrc.o
      XRCWndClassData::GenerateHeaderCode(wxFFile&) in wxrc_wxrc.o
      ...
  "operator+(wxString const&, wxString const&)", referenced from:
      XmlResApp::PrepareTempFiles() in wxrc_wxrc.o
      XmlResApp::MakePackageCPP(wxArrayString const&) in wxrc_wxrc.o
      XmlResApp::GenCPPHeader() in wxrc_wxrc.o
      XmlResApp::MakePackagePython(wxArrayString const&) in wxrc_wxrc.o
      XmlResApp::MakePackageZIP(wxArrayString const&) in wxrc_wxrc.o
      XmlResApp::DeleteTempFiles(wxArrayString const&) in wxrc_wxrc.o
      XmlResApp::GetInternalFileName(wxString const&, wxArrayString const&) in wxrc_wxrc.o
      ...
  "_wxConvLibcPtr", referenced from:
      wxString::operator=(char const*) in wxrc_wxrc.o
      wxString::wxString(char const*) in wxrc_wxrc.o
  "_wxEmptyString", referenced from:
      XmlResApp::ParseParams(wxCmdLineParser const&) in wxrc_wxrc.o
      XmlResApp::OutputGettext() in wxrc_wxrc.o
      XmlResApp::FindFilesInXML(wxXmlNode*, wxArrayString&, wxString const&) in wxrc_wxrc.o
  "_wxLOG_COMPONENT", referenced from:
      XmlResApp::Validate() in wxrc_wxrc.o
      XmlResApp::PrepareTempFiles() in wxrc_wxrc.o
      XmlResApp::MakePackageZIP(wxArrayString const&) in wxrc_wxrc.o
      XmlResApp::FindStrings() in wxrc_wxrc.o
  "_wxTheAssertHandler", referenced from:
      XmlResApp::Validate() in wxrc_wxrc.o
      XmlResApp::PrepareTempFiles() in wxrc_wxrc.o
      XmlResApp::MakePackageCPP(wxArrayString const&) in wxrc_wxrc.o
      XmlResApp::MakePackagePython(wxArrayString const&) in wxrc_wxrc.o
      XmlResApp::DeleteTempFiles(wxArrayString const&) in wxrc_wxrc.o
      XmlResApp::GetInternalFileName(wxString const&, wxArrayString const&) in wxrc_wxrc.o
      wxBaseObjectArray<XRCWndClassData, wxObjectArrayTraitsForArrayOfXRCWndClassData>::Add(XRCWndClassData const&, unsigned long) in wxrc_wxrc.o
      ...
  "_wxTheMimeTypesManager", referenced from:
      XmlResApp::MakePackageCPP(wxArrayString const&) in wxrc_wxrc.o
  "_wxTrapInAssert", referenced from:
      XmlResApp::Validate() in wxrc_wxrc.o
      XmlResApp::PrepareTempFiles() in wxrc_wxrc.o
      XmlResApp::MakePackageCPP(wxArrayString const&) in wxrc_wxrc.o
      XmlResApp::MakePackagePython(wxArrayString const&) in wxrc_wxrc.o
      XmlResApp::DeleteTempFiles(wxArrayString const&) in wxrc_wxrc.o
      XmlResApp::GetInternalFileName(wxString const&, wxArrayString const&) in wxrc_wxrc.o
      wxBaseObjectArray<XRCWndClassData, wxObjectArrayTraitsForArrayOfXRCWndClassData>::Add(XRCWndClassData const&, unsigned long) in wxrc_wxrc.o
      ...
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [wxrc] Error 1
make: *** [wxrc] Error 2
make: *** Waiting for unfinished jobs....

Re: Compiling wxWidgets 3.1.2 on macOS Mojave

Posted: Thu Jan 10, 2019 5:36 pm
by ONEEYEMAN
Hi,
Can you try to build against 10.9 SDK? At least for the test purposes.
It is possible that something is not right for 10.14...

Thank you.

Re: Compiling wxWidgets 3.1.2 on macOS Mojave

Posted: Thu Jan 10, 2019 7:37 pm
by NoeMurr
Hi,

even using the following configuration, the result is the same:

Code: Select all

../configure --with-osx_cocoa --with-macosx-version-min=10.9 --with-macosx-sdk=/Users/<username>/Downloads/MacOSX-SDKs-master/MacOSX10.9.sdk  --prefix="$(pwd)" --disable-shared --enable-macosx_arch=x86_64

Re: Compiling wxWidgets 3.1.2 on macOS Mojave

Posted: Thu Jan 10, 2019 8:32 pm
by ONEEYEMAN
Hi,
I think I see the problem.
Why do you use '--disable-shared' option?

It is possible that those warnings are coming from that.

If this is not the case - I'm out of ideas.
Try asking on wx-users ML.

Thank you.

Re: Compiling wxWidgets 3.1.2 on macOS Mojave

Posted: Thu Jan 10, 2019 10:54 pm
by NoeMurr
I need the static version of the library, but I've tryed even without the

Code: Select all

--disable-shared
and it gives the same error...

I will try to ask on wx-users thanks for the help.

Re: Compiling wxWidgets 3.1.2 on macOS Mojave

Posted: Thu Jan 10, 2019 11:36 pm
by NoeMurr
Sorry I was wrong it does not give me the same error with

Code: Select all

--disable-shared
it gives me a link error only with the regex library:

Code: Select all

ld: warning: ignoring file /Users/<username>/Desktop/wxWidgets-3.1.2/release/lib/libwxregexu-3.1.a, file was built for archive which is not the architecture being linked (x86_64): /Users/<username>/Desktop/wxWidgets-3.1.2/release/lib/libwxregexu-3.1.a

Re: Compiling wxWidgets 3.1.2 on macOS Mojave

Posted: Sat Jan 12, 2019 12:09 pm
by NoeMurr
In your opinion should I open an Issue on github about this?

Re: Compiling wxWidgets 3.1.2 on macOS Mojave

Posted: Sat Jan 12, 2019 1:58 pm
by doublemax
NoeMurr wrote:In your opinion should I open an Issue on github about this?
As you've already posted on the mailing list and are talking to the main developer (Vadim), that's probably not necessary.

Re: Compiling wxWidgets 3.1.2 on macOS Mojave

Posted: Sun Jan 13, 2019 4:21 am
by jbattle
I just upgraded a mac mini to mojave and built installed wx-3.1.2.

My script to build is:

mkdir debug
cd debug
../configure \
--disable-shared \
--enable-stl \
--with-cxx=14 \
--with-macos-sdk=/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk \
--enable-debug \
--enable-debug_gdb \
--disable-optimise \
--prefix=$HOME \
&& make -j4 install

If you want to have an optimized build, have "--disable-debug", remove the "--enable-debug_gdb" line, and change "--disable-optimise" to "--enable-optimise". At least that is what I did and both ways worked for me.

I don't have xcode installed; I just installed the apple developer commandline tools.

Re: Compiling wxWidgets 3.1.2 on macOS Mojave

Posted: Tue Jan 22, 2019 1:08 pm
by raananb
@jbattle
Copied and pasted the script on my mac mini Mojave, and configure is unhappy:

'configure: error: unrecognized options: --with-macos-sdk'

I wonder what makes it work on your mac mini.

Re: Compiling wxWidgets 3.1.2 on macOS Mojave

Posted: Tue Jan 22, 2019 4:33 pm
by jbattle
The command started with "../configure" That is the thing complaining about the options is a script that is part of the wxWidgets release.

Did you perhaps just type "configure blah blah blah" and there is a different configure somewhere on your search path?

[EDIT]
From the same directory where you ran the script, type "./configure --version"

I get this:

wxWidgets version 3.1.2
generated by GNU Autoconf 2.69
(copyright notice)

Re: Compiling wxWidgets 3.1.2 on macOS Mojave

Posted: Wed Jan 23, 2019 1:03 pm
by Guy
In wxWidgets-3.1.2 the SDK parameter keyword is:

--with-macosx-sdk=

Note the "x"

Re: Compiling wxWidgets 3.1.2 on macOS Mojave

Posted: Wed Jan 23, 2019 4:45 pm
by raananb
Typing ../configure --version gives:
wxWidgets configure 3.1.3
Generated by GNU Autoconf 2.69

I retried ../configure --disable-share --enable-stl --with-cxx=14

this gave no problems.

adding '--with-macos-sdk=/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk'

gave configure: error: invalid variable name: `with-macos-sdk'

I junked '--with-macos-sdk=/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk' and continued with --enable-debug --enable-debug_gdb --disable-optimise and all went well.

I checked verified the existence of /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk

So maybe version 3.1.3 does not have the sdk option which was present in configure version 3.1.2