qmake: Linker-Problem unter Mac OS X



  • Hallo,

    ich habe ein sehr spezielles Problem und hoffe das sich hier jemand mit Mac OS X, qmake und cmake auskennt. Ich weiß gar nicht wie ich es beschreiben, bzw. wo ich anfangen soll…

    Ich habe ein qmake-projekt, das (statische) Librarys eines Drittanbieters benötigt (http://pdfhummus.com). Die Librarys werden mit cmake gebaut, unter Windows und Linux funktioniert das auch alles problemlos.

    Unter Mac OS X (10.11.6, EL Capitan 64bit) kann ich die Librarys mit cmake auch bauen, bekomme dann aber beim kompilieren meines Projekts einen Linker-Error: symbol(s) not found for architecture x86_64.

    Per Standard sollte cmake die Bibliotheken ja eigentlich als 64 bit bauen, aber da die Fehlermeldung darauf hindeutet, das sie doch als 32 bit gebaut wurden, habe ich es auch mit der Option CMAKE_OSX_ARCHITECTURES=x86_64 versucht. Leider ohne Erfolg.

    Das nächste was mir aufgefallen ist, das Qt und cmake unter Mac 2 verschiedene Versionen der Standardbibliothek verwenden: Qt verwendet libstdc++, cmake libc++. libstdc++ ist wohl veraltet, aber als Qt-Entwickler richte ich mich natürlich nach Qt und habe cmake mit CMAKE_CXX_FLAGS -stdlib=libstdc++ dazu gezwungen, dieselbe Bibliothek zu verwenden. Auch ohne Erfolg.

    Hier noch grob meine Konfiguration:
    Mac OS X 10.11.6
    Qt 5.8.0 Open-Source, Standard-Installation
    Xcode Version 8.2.1
    CMake Version 3.8.0

    CMake-Einstellungen im Kit (Qt):
    CMAKE_CXX_COMPILER:STRING=%{Compiler:Executable:Cxx}
    CMAKE_CXX_FLAGS:STRING=-stdlib=libstdc++
    CMAKE_C_COMPILER:STRING=/usr/bin/clang
    CMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX}
    QT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable}

    Ansonsten sind alle Einstellungen Standard, habe heute Abend extra nochmal alles neu installiert und wie oben konfiguriert. Falls jemand eine Idee haben sollte, schonmal vorab vielen Dank!


Log in to reply