Congratulations to our 2022 Qt Champions!

Static building for mac OS

  • I read this article

    And found this solution for task

    cd /path/to/Qt
    ./configure -static <other parameters>
    make sub-src

    **What other parameters, are for macOS? **

    PS For windows I use
    configure -release -static -opensource -confirm-license -platform win32-g++ -nomake examples -no-ltcg -no-accessibility -no-sql-mysql -no-sql-psql -no-sql-oci -no-sql-odbc -no-sql-tds -no-sql-db2 -no-sql-ibase -no-opengl -no-openvg -no-incredibuild-xge -no-plugin-manifests -no-plugin-manifests -no-rtti -no-sse2 -no-openssl -no-dbus -no-audio-backend -no-style-windowsce -no-style-windowsmobile -no-mp -no-crt -no-cetest -no-freetype

  • Lifetime Qt Champion


    Remove the platform option. However note that on OS X you would usually use macdeployqt and have the frameworks deployed within your application bundle, especially true if you want to use the App Store.

    Also, don't forget the licensing requirements if you use a static Qt build.

  • If I try compile without platform version i see

    Undefined symbols for architecture x86_64:
    "std::ios_base::Init::Init()", referenced from:
    __GLOBAL__sub_I_compress.cpp in compress.o
    "std::ios_base::Init::~Init()", referenced from:
    __GLOBAL__sub_I_compress.cpp in compress.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[3]: *** [../../../bin/qlalr] Error 1
    make[2]: *** [sub-qlalr-make_first] Error 2
    make[1]: *** [sub-src-make_first] Error 2
    make: *** [module-qtbase-make_first] Error 2

  • Lifetime Qt Champion

    Which version of OS X and Xcode are you using ?

  • OSX 10.10.4 Xcode 7.0

Log in to reply