Qt Creator项目打破:"找不到架构x86_64"

时间:2018-06-01 13:29:55

标签: c++ qt qt-creator linker-errors

我正在使用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;
}

1 个答案:

答案 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