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库仅在该体系结构中提供。