2012-03-29 9 views
0
verknüpfen

Ich verwende Qt4.8 auf OSX Leopard und statt qmake + QtCreator ich eine sehr einfache project mit CMake auf OSX kompilieren wollen zu verstehen, wie ein Paket machen.Qt4.8 + CMake 2.8.5 auf OS X 10.5.8 nicht

Während das gleiche Projekt kompiliert und Links reibungslos unter Linux, unter meiner OSX-Box, das ist die Fehlermeldung, die ich immer in der Verbindungsphase erhalten:

ld warning: in /Library/Frameworks//QtGui.framework/QtGui, file is not of required architecture 
ld warning: in /Library/Frameworks//QtCore.framework/QtCore, file is not of required architecture 
Undefined symbols: 
    "QWidget::mousePressEvent(QMouseEvent*)", referenced from: 
     vtable for TestFormin moc_TestForm.cxx.o 
    "QObject::childEvent(QChildEvent*)", referenced from: 
     vtable for TestFormin moc_TestForm.cxx.o 
    "QWidget::actionEvent(QActionEvent*)", referenced from: 
     vtable for TestFormin moc_TestForm.cxx.o 
    "QCoreApplication::translate(char const*, char const*, char const*, QCoreApplication::Encoding)", referenced from: 

etcetera etcetera.

Das passiert für jedes Projekt, das ich mit cmake kompilieren möchte. Irgendeine Idee von was ist los?

Antwort

1

Überprüfen Sie, welche Architektur (i386, x86_64) von cmake (CMAKE_OSX_ARCHITECTURES) verwendet wird. Versuchen Sie, die Architektur zu cmake vorzuschlagen:

cmake -DCMAKE_OSX_ARCHITECTURES=x86_64 
+0

Danke, das hat mein Problem gelöst! Ich muss nur die x86_64-Architektur beibehalten, da meine Qt-Bibliotheken nur in dieser Architektur bereitgestellt werden. – linello