Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Installation and Deployment
  4. Compiling Qt 4.8.0 with C++0x on Mac (clang)
Forum Updated to NodeBB v4.3 + New Features

Compiling Qt 4.8.0 with C++0x on Mac (clang)

Scheduled Pinned Locked Moved Installation and Deployment
4 Posts 2 Posters 6.4k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • P Offline
    P Offline
    philip-yuile
    wrote on last edited by
    #1

    Hi,

    I'm trying to compile Qt 4.8.0 on Mac OSX Lion, but I'd like to compile it with C++0x enabled. Of course, g++ 4.2 does not support this so I'm attempting to use clang. I found a clang qmake.conf file in mkspecs/unsupported (which sounds a bit ominous!) and this is the configure command I'm using:

    CXXFLAGS="-std=c++0x" QMAKESPEC="/.....(path from root)......./qt-everywhere-opensource-src-4.8.0/mkspecs/unsupported/macx-clang" ./configure --prefix=/usr/local -opensource -static -fast -qt-sql-sqlite -no-qt3support -no-webkit -graphicssystem raster -qt-zlib -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -make libs -no-xinerama

    When I run this command, clang appears to be used during the configuration, but as soon as I run 'make', it promptly switches back to gcc and produces an 'unrecognised command line option' for the -std=c++0x flag.

    So my questions are as follows:

    1. Am I doing something wrong here? If so, what else do I need to do to compile Qt with clang?
    2. Is it actually currently possible to compile QT on Mac with clang? (I'm guessing its qmake.conf must be in 'unsupported' for some reason...)
    3. If it isn't possible, are there any other ways in which I could enable c++0x support with Qt on Mac? (I have g++4.6 from Macports, but I'm guessing that compiling Qt with it is going to be painful)

    Thanks very much in advance,
    Philip

    1 Reply Last reply
    0
    • P Offline
      P Offline
      philip-yuile
      wrote on last edited by
      #2

      Looks like I was doing something silly after all! I hadn't built it from the freshly unzipped source, meaning that even after running make confclean, the bootstrapping tools for qmake had already produced a Makefile using my previous configuration (using g++4.2). It's compiling nicely just now, I should be in the clear.

      1 Reply Last reply
      0
      • P Offline
        P Offline
        philip-yuile
        wrote on last edited by
        #3

        ...and as soon as I click 'post reply', I get a compilation error...

        here it is.

        In file included from kernel/qcursor_mac.mm:52:
        In file included from ../../include/QtGui/private/qt_cocoa_helpers_mac_p.h:1:
        ../../include/QtGui/private/../../../src/gui/kernel/qt_cocoa_helpers_mac_p.h:218:10: error: cannot initialize return object of type 'NSString *' with an rvalue of type 'const NSString *'
        { return [reinterpret_cast<const NSString *>(QCFString::toCFStringRef(qstr)) autorelease]; }
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        /System/Library/Frameworks/Foundation.framework/Headers/NSObject.h:37:1: note: instance method 'autorelease' is assumed to return an instance of its receiver type ('const NSString *')

        • (id)autorelease NS_AUTOMATED_REFCOUNT_UNAVAILABLE;
          ^
          1 error generated.

        So, back to my original question... is it currently possible to compile Qt 4.8.0 on a Mac (OSX Lion), with clang and -std=c++0x? If it is, could anyone enlighten me as to what I'm missing? And if it's not, could anyone suggest an alternative c++0x compliant compiler to use on the Mac, and a method of configuring Qt to build using that compiler?

        Help would once again be much appreciated.

        Thanks very much,
        Philip

        1 Reply Last reply
        0
        • B Offline
          B Offline
          boshvark
          wrote on last edited by
          #4

          Here is a patch that was sent to the Qt-Interest mailing list in September 2011:

          http://lists.qt.nokia.com/pipermail/qt-interest/2011-September/035824.html

          This fixes the QtGui compile error you encountered. There may be some other build errors further down the line, though.

          1 Reply Last reply
          0

          • Login

          • Login or register to search.
          • First post
            Last post
          0
          • Categories
          • Recent
          • Tags
          • Popular
          • Users
          • Groups
          • Search
          • Get Qt Extensions
          • Unsolved