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. QtCreator vs. Xcode

QtCreator vs. Xcode

Scheduled Pinned Locked Moved Installation and Deployment
6 Posts 3 Posters 8.2k Views
  • 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.
  • B Offline
    B Offline
    basil_fawlty
    wrote on last edited by
    #1

    First of all:
    I am a complete newbie in Qt. I have developed an OpenGL-Project, which should now contain a nice GUI. Thats why I am trying to learn Qt.

    I have installed the Qt SDK. I have no problems at all to run the opengl-examples in QtCreator. Now I wanted to integrate Qt in Xcode. I have tried the same example. I have integrated all headers. In the code are no errors, but I get these messages, when push "Build and Run".

    @
    ld: warning: in /Developer/QtSDK/Simulator/Qt/gcc/lib/QtOpenGL.framework/QtOpenGL, file was built for unsupported file format which is not the architecture being linked (i386)
    Undefined symbols:
    "GLWidget::yRotationChanged(int)", referenced from:
    GLWidget::setYRotation(int) in glwidget.o
    "QString::free(QString::Data*)", referenced from:
    QString::~QString()in window.o
    "QWidget::~QWidget()", referenced from:
    Window::Window()in window.o
    Window::~Window()in main.o
    "QWidget::close()", referenced from:
    Window::keyPressEvent(QKeyEvent*) in window.o
    "QObject::connect(QObject const*, char const*, QObject const*, char const*, Qt::ConnectionType)", referenced from:
    Window::Window()in window.o
    "QWidget::setWindowTitle(QString const&)", referenced from:
    Window::Window()in window.o
    "QMetaObject::tr(char const*, char const*) const", referenced from:
    Window::tr(char const*, char const*)in window.o
    "QGLWidget::qglClearColor(QColor const&) const", referenced from:
    GLWidget::initializeGL() in glwidget.o
    "vtable for Window", referenced from:
    __ZTV6Window$non_lazy_ptr in window.o
    __ZTV6Window$non_lazy_ptr in main.o
    (maybe you meant: __ZTV6Window$non_lazy_ptr)
    "QHBoxLayout::QHBoxLayout()", referenced from:
    Window::Window()in window.o
    "QWidget::sizeHint() const", referenced from:
    _main in main.o
    "QColor::dark(int) const", referenced from:
    GLWidget::initializeGL() in glwidget.o
    "GLWidget::zRotationChanged(int)", referenced from:
    GLWidget::setZRotation(int) in glwidget.o
    "QAbstractSlider::setSingleStep(int)", referenced from:
    Window::createSlider() in window.o
    "QWidget::QWidget(QWidget*, QFlagsQt::WindowType)", referenced from:
    Window::Window()in window.o
    "vtable for GLWidget", referenced from:
    __ZTV8GLWidget$non_lazy_ptr in glwidget.o
    (maybe you meant: __ZTV8GLWidget$non_lazy_ptr)
    "qFlagLocation(char const*)", referenced from:
    Window::Window()in window.o
    "QWidget::resize(QSize const&)", referenced from:
    _main in main.o
    "QColor::operator=(QColor const&)", referenced from:
    GLWidget::GLWidget(QWidget*)in glwidget.o
    "QAbstractSlider::setValue(int)", referenced from:
    Window::Window()in window.o
    "QSlider::setTickPosition(QSlider::TickPosition)", referenced from:
    Window::createSlider() in window.o
    "QSlider::QSlider(Qt::Orientation, QWidget*)", referenced from:
    Window::createSlider() in window.o
    "QAbstractSlider::setRange(int, int)", referenced from:
    Window::createSlider() in window.o
    "QtLogo::setColor(QColor)", referenced from:
    GLWidget::initializeGL() in glwidget.o
    "QtLogo::QtLogo(QObject*, int, double)", referenced from:
    GLWidget::initializeGL() in glwidget.o
    "QApplication::desktop()", referenced from:
    _main in main.o
    "Window::staticMetaObject", referenced from:
    __ZN6Window16staticMetaObjectE$non_lazy_ptr in window.o
    (maybe you meant: __ZN6Window16staticMetaObjectE$non_lazy_ptr)
    "QColor::fromCmykF(double, double, double, double, double)", referenced from:
    GLWidget::GLWidget(QWidget*)in glwidget.o
    "QAbstractSlider::setPageStep(int)", referenced from:
    Window::createSlider() in window.o
    "QGLFormat::~QGLFormat()", referenced from:
    GLWidget::GLWidget(QWidget*)in glwidget.o
    "QWidget::showMaximized()", referenced from:
    _main in main.o
    "GLWidget::xRotationChanged(int)", referenced from:
    GLWidget::setXRotation(int) in glwidget.o
    "QApplication::QApplication(int&, char**, int)", referenced from:
    _main in main.o
    "QGLFormat::QGLFormat(QFlagsQGL::FormatOption, int)", referenced from:
    GLWidget::GLWidget(QWidget*)in glwidget.o
    "QSlider::setTickInterval(int)", referenced from:
    Window::createSlider() in window.o
    "QApplication::exec()", referenced from:
    _main in main.o
    "QWidget::setLayout(QLayout*)", referenced from:
    Window::Window()in window.o
    "QGLWidget::~QGLWidget()", referenced from:
    GLWidget::~GLWidget()in glwidget.o
    GLWidget::GLWidget(QWidget*)in glwidget.o
    "QWidget::keyPressEvent(QKeyEvent*)", referenced from:
    Window::keyPressEvent(QKeyEvent*) in window.o
    "QApplication::~QApplication()", referenced from:
    _main in main.o
    "QtLogo::draw() const", referenced from:
    GLWidget::paintGL() in glwidget.o
    "QColor::invalidate()", referenced from:
    QColor::QColor()in glwidget.o
    "QGLWidget::QGLWidget(QGLFormat const&, QWidget*, QGLWidget const*, QFlagsQt::WindowType)", referenced from:
    GLWidget::GLWidget(QWidget*)in glwidget.o
    "QWidget::show()", referenced from:
    _main in main.o
    "QBoxLayout::addWidget(QWidget*, int, QFlagsQt::AlignmentFlag)", referenced from:
    Window::Window()in window.o
    ld: symbol(s) not found
    collect2: ld returned 1 exit status
    @

    Now my questions:

    Is it possible that I get this message, because I am not using qmake.

    I have tried use qmake and pasted into the terminal the following line: qmake -spec macx-xcode project.pro

    but i only get the message qmake: command not found

    Is it adviseable to use QtCreator instead of Xcode? Is it possible to compile every opengl code with qt?

    1 Reply Last reply
    0
    • G Offline
      G Offline
      gedd
      wrote on last edited by
      #2

      I never had used xCode but it seems that it is a lib path problem.
      Try to indicate to xCode the path to the Qt libraries

      Gedd

      1 Reply Last reply
      0
      • G Offline
        G Offline
        goetz
        wrote on last edited by
        #3

        You will have to add at least QtCore and QtGui (and maybe some more) to the list of used frameworks in XCode.

        Regarding your qmake problem: You will have to call it by its full path. I don't know where it is located in the SDK. I'd try

        @
        mdfind -name qmake | grep bin
        @

        on the command line.

        http://www.catb.org/~esr/faqs/smart-questions.html

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

          Thanks for your answers: Somehow this qmake isnt working. My qmake file can be found here: /Developer/QtSDK/Simulator/Qt/gcc/bin/qmake

          Then I have typed in: /Developer/QtSDK/Simulator/Qt/gcc/bin/qmake -project -o /Developer/QtSDK/Examples/4.7/opengl/untitled

          Nothing happens!

          My biggest question right now is how to create this .pro-file. Because its not working with me.

          Thanks in Advance

          1 Reply Last reply
          0
          • G Offline
            G Offline
            goetz
            wrote on last edited by
            #5

            The argument to "-o" is the .pro file you want to create. It's unlikely that the path you provided is what you want :)

            So, go to a terminal and type:

            @
            cd /path/to/your/source
            /Developer/QtSDK/Simulator/Qt/gcc/bin/qmake -spec macx-xcode project.pro
            open project.xcodeproj
            @

            Regarding your 3rd question: yes that's possible and easy. Both XCode and Qt Creator just call gcc behind the scenes.

            [fixed strikethrouh error, Volker]

            http://www.catb.org/~esr/faqs/smart-questions.html

            1 Reply Last reply
            0
            • B Offline
              B Offline
              basil_fawlty
              wrote on last edited by
              #6

              Thank you it worked....

              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