Macos Qt4.8+;OSX 10.5.8上的CMake 2.8.5 can';t链接

Macos Qt4.8+;OSX 10.5.8上的CMake 2.8.5 can';t链接,macos,qt,linker,cmake,osx-leopard,Macos,Qt,Linker,Cmake,Osx Leopard,我在OSX Leopard上使用Qt4.8,而不是qmake+QtCreator我想在OSX上使用CMake编译一个非常简单的程序包,以了解如何编写程序包 虽然同一个项目在Linux下可以顺利编译和链接,但在我的OSX框下,这是我在链接阶段经常收到的错误消息: ld warning: in /Library/Frameworks//QtGui.framework/QtGui, file is not of required architecture ld warning: in /Library

我在
OSX Leopard
上使用Qt4.8,而不是
qmake
+
QtCreator
我想在OSX上使用
CMake
编译一个非常简单的程序包,以了解如何编写程序包

虽然同一个项目在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编译的每个项目。 知道发生了什么吗?

检查
cmake
正在使用什么体系结构(
i386
x86\u 64
)(
cmake\u OSX\u体系结构
)。尝试将架构建议为
cmake

cmake -DCMAKE_OSX_ARCHITECTURES=x86_64

谢谢,这解决了我的问题!我必须只保留x86_64体系结构,因为我的Qt库仅在该体系结构中提供。