kevinhezhuzhu 2022-05-01 11:36 采纳率: 66.7%
浏览 23
已结题

macOS Qt C++报错“:-1: error: 1 duplicate symbol for architecture x86_64”

问题遇到的现象和发生背景

Qt C++报错

:-1: error: 1 duplicate symbol for architecture x86_64

:-1: error: linker command failed with exit code 1 (use -v to see invocation)
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [Applestore.app/Contents/MacOS/Applestore] Error 1

问题相关代码,请勿粘贴截图

mainwindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <iostream>
#include <QString>
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow;}
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

signals:
    void mysignal();

private slots:
    void on_cancel_clicked();
    void on_register_new_clicked();

private:
    Ui::MainWindow *ui;
};

#endif // MAINWINDOW_H

register.h

#ifndef REGISTER_H
#define REGISTER_H

#include <QWidget>
namespace Ui {
class Register;
}
class Register : public QWidget
{
    Q_OBJECT
public:
    explicit Register(QWidget *parent = nullptr);
private:
    Ui::Register* ui;
signals:
    void mysignal_in();
private slots:
    void on_pushButton_clicked();
};
struct Information_register
{
    QString account_infor[80];
    QString password_infor[80];
};
#endif // REGISTER_H

main.cpp

#include "mainwindow.h"
#include "register.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    Register r;
    w.show();
    QObject::connect(&w,SIGNAL(mysignal()),&r,SLOT(mysignal_in()));
    return a.exec();
}


mainwindow.cpp

#include "mainwindow.h"
#include "./ui_mainwindow.h"
#include <QString>
#include <QFile>
#include <stdio.h>
#include <QDataStream>
#include "register.h"
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}
MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::on_cancel_clicked()
{
    this->close();
}

void MainWindow::on_register_new_clicked()
{
    this->hide();
    emit mysignal();
}



register.cpp

#include "ui_register.h"
#include "register.h"
#include <QString>
#include <QFile>
#include <stdio.h>
#include <iostream>
#include <QDataStream>
Register::Register(QWidget *parent)
    : QWidget{parent}
    ,ui(new Ui::Register)
{
    ui->setupUi(this);
}
void Register::mysignal_in()
{
    this->show();
}
void Register::on_pushButton_clicked()
{
    Information_register infor[5]={
        {ui->account->text(),ui->password->text()}
    };
    QFile information("/Users/liushanyu/untitled/information.txt");
    information.open(QIODevice::WriteOnly);
    QDataStream stream(&information);
    stream<<infor[0].account_infor[79]<<infor[0].password_infor[79]<<20;
    information.close();
}



运行结果及报错内容

怕只看代码不太直观,还是把截图发一下。
mainwindow.h

img

register.h

img

main.cpp

img

mainwindow.cpp

img

register.cpp

img

我的解答思路和尝试过的方法

我发现把register.cpp里面的

void Register::mysignal_in()
{
    this->show();
}

注释掉就好了,这是什么原因呢

我想要达到的结果
  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 5月9日
    • 修改了问题 5月1日
    • 创建了问题 5月1日

    悬赏问题

    • ¥20 校园二手交易小程序搭建
    • ¥15 请问在ubuntu用conda创建环境报错怎么能解决
    • ¥15 STM32CubeMX/proteus按键控制指示灯颜色切换
    • ¥20 python,计算区位熵和扩张指数
    • ¥15 Python环境配置
    • ¥15 大四学生的困惑,有偿提问!
    • ¥15 解决页面无法编入索引:被“noindex”标签排除的问题?
    • ¥15 arduino测量电阻
    • ¥15 快手uid转快手号谁能解决 需要开发
    • ¥15 iis部署Django时css不生效,来个真人,ai不好使