Qt5和MacOS X
我已经从MacPorts在我的Mac OS X Yosemite上安装了Qt5。 如果我编译这个简单的文件Qt5和MacOS X,qt,osx-yosemite,Qt,Osx Yosemite,我已经从MacPorts在我的Mac OS X Yosemite上安装了Qt5。 如果我编译这个简单的文件 #include <QtGui> #include <QtWidgets/QApplication> #include <QtWidgets/QLabel> int main(int argc, char **argv) { QApplication app(argc, argv); QLabel lbl("Hello World!")
#include <QtGui>
#include <QtWidgets/QApplication>
#include <QtWidgets/QLabel>
int main(int argc, char **argv)
{
QApplication app(argc, argv);
QLabel lbl("Hello World!");
lbl.show();
return app.exec();
}
#包括
#包括
#包括
int main(int argc,字符**argv)
{
QApplication应用程序(argc、argv);
QLabel lbl(“你好,世界!”);
lbl.show();
返回app.exec();
}
我会出错的
Undefined symbols for architecture x86_64:
"QApplication::exec()", referenced from:
_main in main.o
"QApplication::QApplication(int&, char**, int)", referenced from:
_main in main.o
"QApplication::~QApplication()", referenced from:
_main in main.o
"QLabel::QLabel(QString const&, QWidget*, QFlags<Qt::WindowType>)", referenced from:
_main in main.o
"QLabel::~QLabel()", referenced from:
_main in main.o
"QWidget::show()", referenced from:
_main in main.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [123.app/Contents/MacOS/123] Error 1
架构x86_64的未定义符号:
“QApplication::exec()”,引用自:
_主音中的主音
“QApplication::QApplication(int&,char**,int)”,引用自:
_主音中的主音
“QApplication::~QApplication()”,引用自:
_主音中的主音
“QLabel::QLabel(QString const&,QWidget*,QFlags)”,引用自:
_主音中的主音
“QLabel::~QLabel()”,引用自:
_主音中的主音
“QWidget::show()”,引用自:
_主音中的主音
ld:找不到架构x86_64的符号
叮当声:错误:链接器命令失败,退出代码为1(使用-v查看调用)
make:**[123.app/Contents/MacOS/123]错误1
我更改了QMAKE\u MACOSX\u部署\u目标=10.6
到QMAKE\u MACOSX\u部署\u目标=10.9
或QMAKE\u MACOSX\u部署\u目标=10.10
在文件/opt/local/share/qt5/mkspecs/macx clang/qmake.conf中
但是没有结果。如果没有更多信息,很难准确地知道,但是请检查您是否正在.pro文件中添加小部件:
QT += gui core
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
如果不使用qtcreator,可能必须显式运行qmake。另外,您是否会显示一个主窗口而不是QLabel?我还没有检查这是否是合法可行的代码,但也许您应该先显示一个主窗口并验证它是否有效。QTCreator有一个新的
Qt Widgets应用程序的项目模板
。还要检查macports是否正在安装最新的qt5版本,以防路径或配置错误。是否安装了64位qt?(是否可能不?)我已通过“sudo port install qt5 mac”安装。我想是64位。你能显示linker命令吗?