2012-03-29 3 views
0

Я использую Qt4.8 на OSX Leopard и вместо qmake + QtCreator Я хочу собрать очень простой project с помощью CMake на OSX, чтобы понять, как сделать пакет.Qt4.8 + CMake 2.8.5 на OSX 10.5.8 не может связать

Хотя тот же проект компилируется и гладко под Linux, под моим OSX поле, это сообщение об ошибке, я всегда получаю в фазе зацепления:

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: 

и так далее и тому подобное.

Это происходит для каждого проекта, который я хочу скомпилировать с помощью cmake. Любая идея о том, что происходит?

ответ

1

Проверьте, что архитектура (i386, x86_64) в настоящее время используется cmake (CMAKE_OSX_ARCHITECTURES). Попытайтесь предложить архитектуру cmake:

cmake -DCMAKE_OSX_ARCHITECTURES=x86_64 
+0

Спасибо, это решило мою проблему! Я должен поддерживать архитектуру x86_64, потому что мои библиотеки Qt предоставляются только в этой архитектуре. – linello

Смежные вопросы