我正在使用Mac上的Qt Creator编程(High Sierra 10.13.4)。经过几天的工作,我的项目似乎自发地破裂了。
给出的链接器错误是:"找不到架构x86_64"的符号。
代码没有任何问题 - 我打开,运行,关闭和重新打开项目,它们突然被破坏了。我也用Qt提供的例子对此进行了测试,结果相同。我可以将代码复制粘贴到一个新项目并编译它没有问题,但它最终会再次做同样的事情。
我试图删除项目的整个调试输出文件夹,以便重新开始,但它没有什么区别。同样的错误。
之前有没有人在使用QtCreator这个问题?有解决方案吗?
我在这里查了很多非常相似的问题,但它们似乎都是代码错误。如果它和我一样,这就是我的全部代码:
//main.cpp
#include "display.h"
#include "frame.h"
#include <QApplication>
int main(int argc, char * argv[])
{
QApplication a(argc, argv);
Display w;
w.show();
return a.exec();
}
Display.h&amp; Frame.h是自动生成的。
//display.cpp
#include "display.h"
#include "ui_display.h"
#include "frame.h"
Display::Display(QWidget *parent) : QMainWindow(parent), ui(new Ui::Display)
{
ui->setupUi(this);
QWidget * f = new Frame(this);
setCentralWidget(f);
}
Display::~Display()
{
delete ui;
}
Frame.cpp last:
#include "frame.h"
#include "ui_frame.h"
Frame::Frame(QWidget *parent) : QFrame(parent), ui(new Ui::Frame)
{
ui->setupUi(this);
}
Frame::~Frame()
{
delete ui;
}
答案 0 :(得分:0)
链接器错误不是给定的。还有更多的方法,而且你没有包含实际上带有有意义信息的信息,以便调试这个问题。你的问题可能是项目内部二进制不兼容,而qmake构建系统没有抓住它。这个问题与Qt Creator无关。构建由qmake和make完成。如果你从命令行构建,你会看到这些问题 - 我强烈建议你这样做。
假设源位于[(['Access Cards/ FOBs/ Keys',
'Plumbing',
'QR Demo Request Type',
'Demo Request Type',
'Other',
'ThisRequestType1'],
['Open', 'In Progress', 'Completed']),
(['Access Cards/ FOBs/ Keys',
'Plumbing',
'QR Demo Request Type',
'Demo Request Type',
'Other',
'ThisRequestType1'],
['Open', 'In Progress', 'Completed']), ...]
,并且您正在使用来自macport的Qt,请在终端中按以下步骤操作:
/Users/mycaptain/src/myproject