Compiling wxWidgets 3.1.2 on macOS Mojave

Do you have a question about makefiles, a compiler or IDE you are using and need to know how to set it up for wxWidgets or why it doesn't compile but other IDE's do ? Post your questions here.
NoeMurr
Knows some wx things
Knows some wx things
Posts: 32
Joined: Sat Mar 31, 2018 2:26 pm

Compiling wxWidgets 3.1.2 on macOS Mojave

Post 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?
ONEEYEMAN
Part Of The Furniture
Part Of The Furniture
Posts: 7459
Joined: Sat Apr 16, 2005 7:22 am
Location: USA, Ukraine

Re: Compiling wxWidgets 3.1.2 on macOS Mojave

Post 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.
NoeMurr
Knows some wx things
Knows some wx things
Posts: 32
Joined: Sat Mar 31, 2018 2:26 pm

Re: Compiling wxWidgets 3.1.2 on macOS Mojave

Post 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....
ONEEYEMAN
Part Of The Furniture
Part Of The Furniture
Posts: 7459
Joined: Sat Apr 16, 2005 7:22 am
Location: USA, Ukraine

Re: Compiling wxWidgets 3.1.2 on macOS Mojave

Post 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.
NoeMurr
Knows some wx things
Knows some wx things
Posts: 32
Joined: Sat Mar 31, 2018 2:26 pm

Re: Compiling wxWidgets 3.1.2 on macOS Mojave

Post 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
ONEEYEMAN
Part Of The Furniture
Part Of The Furniture
Posts: 7459
Joined: Sat Apr 16, 2005 7:22 am
Location: USA, Ukraine

Re: Compiling wxWidgets 3.1.2 on macOS Mojave

Post 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.
NoeMurr
Knows some wx things
Knows some wx things
Posts: 32
Joined: Sat Mar 31, 2018 2:26 pm

Re: Compiling wxWidgets 3.1.2 on macOS Mojave

Post 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.
NoeMurr
Knows some wx things
Knows some wx things
Posts: 32
Joined: Sat Mar 31, 2018 2:26 pm

Re: Compiling wxWidgets 3.1.2 on macOS Mojave

Post 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
NoeMurr
Knows some wx things
Knows some wx things
Posts: 32
Joined: Sat Mar 31, 2018 2:26 pm

Re: Compiling wxWidgets 3.1.2 on macOS Mojave

Post by NoeMurr »

In your opinion should I open an Issue on github about this?
User avatar
doublemax
Moderator
Moderator
Posts: 19116
Joined: Fri Apr 21, 2006 8:03 pm
Location: $FCE2

Re: Compiling wxWidgets 3.1.2 on macOS Mojave

Post 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.
Use the source, Luke!
jbattle
Knows some wx things
Knows some wx things
Posts: 31
Joined: Mon Oct 01, 2007 8:48 pm
Location: Austin, TX

Re: Compiling wxWidgets 3.1.2 on macOS Mojave

Post 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.
raananb
Super wx Problem Solver
Super wx Problem Solver
Posts: 488
Joined: Fri Oct 27, 2006 4:35 pm
Location: Paris, France
Contact:

Re: Compiling wxWidgets 3.1.2 on macOS Mojave

Post 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.
jbattle
Knows some wx things
Knows some wx things
Posts: 31
Joined: Mon Oct 01, 2007 8:48 pm
Location: Austin, TX

Re: Compiling wxWidgets 3.1.2 on macOS Mojave

Post 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)
Guy
In need of some credit
In need of some credit
Posts: 1
Joined: Wed Jan 23, 2019 12:59 pm

Re: Compiling wxWidgets 3.1.2 on macOS Mojave

Post by Guy »

In wxWidgets-3.1.2 the SDK parameter keyword is:

--with-macosx-sdk=

Note the "x"
raananb
Super wx Problem Solver
Super wx Problem Solver
Posts: 488
Joined: Fri Oct 27, 2006 4:35 pm
Location: Paris, France
Contact:

Re: Compiling wxWidgets 3.1.2 on macOS Mojave

Post 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
Post Reply