Qt Creator项目打破:"找不到建筑x86_64符号"

Qt Creator projects breaking: "symbols not found for architecture x86_64"

本文关键字:quot x86 建筑 符号 找不到 Creator 项目 Qt      更新时间:2023-10-16

我在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 和 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;
}

帧.cpp最后:

#include "frame.h"
#include "ui_frame.h"
Frame::Frame(QWidget *parent) : QFrame(parent), ui(new Ui::Frame)
{
ui->setupUi(this);
}
Frame::~Frame()
{
delete ui;
}

并不是说链接器错误是给定的。还有更多,而且您没有包括实际携带有意义信息的消息的实质,从而可以调试此问题。您的问题可能是项目在内部变得二进制不兼容,并且 qmake 构建系统没有抓住它。该问题与Qt Creator无关。构建由 qmake 和 make 完成。如果您从命令行构建,您会看到这些问题 - 我强烈建议您这样做。

假设源在/Users/mycaptain/src/myproject,并且您正在从macports使用Qt,请在终端中执行以下操作:

$ mkdir ~/src/build-myproject
$ cd ~/src/build-myproject
$ /opt/local/libexec/qt5/bin/qmake ../myproject
$ make