Qt应用程序64位体系结构错误
我正在处理Qt,向我的Qt Gui应用程序添加插槽时出现以下错误Qt应用程序64位体系结构错误,qt,qt-creator,Qt,Qt Creator,我正在处理Qt,向我的Qt Gui应用程序添加插槽时出现以下错误 symbol(s) not found for architecture x86_64. 当我注释掉插槽块时,一切似乎都很好 public slots: QtCreator中是否存在某种缺陷,或者我做错了什么 我在Mac Osx 10.8(mountain lion)上使用基于Qt4.8.3(64位)的QtCreator 2.5.2 Edit:这是我的全班课程 #include <QMainWindow> #in
symbol(s) not found for architecture x86_64.
当我注释掉插槽
块时,一切似乎都很好
public slots:
QtCreator中是否存在某种缺陷,或者我做错了什么
我在Mac Osx 10.8(mountain lion)上使用基于Qt4.8.3(64位)的QtCreator 2.5.2
Edit:
这是我的全班课程
#include <QMainWindow>
#include "qextserialport.h"
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private:
Ui::MainWindow *ui;
QextSerialPort *port;
public slots:
void onDataAvailable();
};
#包括
#包括“qextserialport.h”
名称空间用户界面{
类主窗口;
}
类主窗口:公共QMainWindow
{
Q_对象
公众:
显式主窗口(QWidget*parent=0);
~main窗口();
私人:
Ui::MainWindow*Ui;
QextSerialPort*端口;
公众时段:
void onDataAvailable();
};
从您发布的代码来看,您似乎没有实现插槽功能。这就可以解释了
如果确实如此,则可能必须删除makefile并重新生成它:
make distclean
qmake
以便更新moc规则。请引用包含“公共插槽”的整个类声明:“我们需要注意的一件事是Q_对象声明的正确使用。@DarrylMiles我已经用完整的类声明编辑了这个问题。您确定名称空间Ui的使用是正确的吗?如果删除“类MainWindow;”会发生什么并将命名空间的右大括号移到最后一行?或者您可能会将“class MainWindow…”更改为“class Ui::MainWindow…”不正确的命名空间将导致符号解析失败。我很确定命名空间没有问题。我用这种方式制作了其他几个应用程序,没有问题。错误只在我添加插槽时出现。无论如何,我按照您说的做了,没有问题“未知类型名称‘MainWindow’错误,但类型是Ui::MainWindow不是它(因此MainWindow将是未知的)?此链接是否有助于Holyyy。。。。。。。你是对的。这个错误的名字完全把我弄糊涂了。我以为是MacOSX架构相关的问题。谢谢:)