pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

錯誤:找不到架構 x86_64 的符號,collect2:ld 返回

Error: symbol(s) not found for architecture x86_64, collect2: ld returned 1 exit status(錯誤:找不到架構 x86_64 的符號,collect2:ld 返回 1 個退出狀態)
本文介紹了錯誤:找不到架構 x86_64 的符號,collect2:ld 返回 1 個退出狀態的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我一直在為 Qt 上的問題苦苦掙扎.

I have been struggling for a while with an issue on Qt.

這是我的代碼:

hexbutton.h:

hexbutton.h:

#ifndef HEXBUTTON_H
#define HEXBUTTON_H

#include <QPushButton>
#include <QWidget>
#include <QIcon>

class HexButton : public QPushButton
{
    Q_OBJECT

public:
    HexButton(QWidget *parent, QIcon &icon, int i, int j);

public slots:
    void changeIcon();
};

#endif // HEXBUTTON_H

Hexbutton.cpp:

Hexbutton.cpp:

#include "hexbutton.h"

HexButton::HexButton(QWidget *parent, QIcon &icon, int i , int j) : QPushButton(parent){
    //setFlat(true);
    setIcon(icon);
    setGeometry((i*40)+((j*40)/2), j*40, 40, 40);
}

void HexButton::changeIcon(){
        setIcon(QIcon("/Users/jonathanbibas/Documents/Workspace Qt/Test/hexagon.gif"));
}

MyWindow.h:

MyWindow.h:

#ifndef MYWINDOW_H
#define MYWINDOW_H

#include <QApplication>
#include <QWidget>
#include <QPushButton>
#include <QLCDNumber>
#include <QSlider>
#include <QProgressBar>
#include "hexbutton.h"



class MyWindow : public QWidget
{

public:
    MyWindow();
    ~MyWindow();

private:
    HexButton * myButtons[11][11];
};



#endif // MYWINDOW_H

MyWindow.cpp:

MyWindow.cpp:

#include "MyWindow.h"
#include <QColor>
#include <QIcon>


MyWindow::MyWindow() : QWidget() {


    setFixedSize(740, 440);

    QIcon icon = QIcon("/Users/jonathanbibas/Documents/Workspace Qt/Test/whitehexagon.png");

    for(int i =0 ; i < 11 ; i ++){
        for(int j =0 ; j < 11 ; j ++){


            myButtons[i][j] = new HexButton(this, icon, i, j);

            QObject::connect(myButtons[i][j], SIGNAL(clicked()), myButtons[i][j], SLOT(changeIcon()));
        }
    }
}



MyWindow::~MyWindow()
{
    delete myButtons;

}

最后,Main.cpp:

And finally, Main.cpp:

#include <QApplication>
#include "MyWindow.h"


int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

        MyWindow fenetre;
        fenetre.show();

        return app.exec();
}

以防萬一,這里是 Test.pro

Just in case, here is the Test.pro

SOURCES += 
    Main.cpp 
    MyWindow.cpp 
    hexbutton.cpp

HEADERS += 
    MyWindow.h 
    hexbutton.h

我得到了 2 個錯誤:

And I get the 2 errors:

1) 找不到架構 x86_64 的符號

1) symbol(s) not found for architecture x86_64

2) collect2: ld 返回 1 個退出狀態

2) collect2: ld returned 1 exit status

它還說 121 次 (11*11):

It also says 121 times (11*11):

Object::connect: ../Test/MyWindow.cpp:19 中沒有這樣的插槽 QPushButton::changeIcon()

Object::connect: No such slot QPushButton::changeIcon() in ../Test/MyWindow.cpp:19

在編譯輸出上它說:

18:22:15: Running build steps for project Test...
18:22:15: Configuration unchanged, skipping qmake step.
18:22:15: Starting: "/usr/bin/make" -w
make: Entering directory `/Users/jonathanbibas/Documents/Workspace Qt/Test-build-desktop-Desktop_Qt_4_8_0_for_GCC__Qt_SDK__Debug'
g++ -c -pipe -g -gdwarf-2 -arch x86_64 -Xarch_x86_64 -mmacosx-version-min=10.5 -Wall -W -DQT_GUI_LIB -DQT_CORE_LIB -I../../../QtSDK/Desktop/Qt/4.8.0/gcc/mkspecs/macx-g++ -I../Test -I../../../QtSDK/Desktop/Qt/4.8.0/gcc/lib/QtCore.framework/Versions/4/Headers -I../../../QtSDK/Desktop/Qt/4.8.0/gcc/include/QtCore -I../../../QtSDK/Desktop/Qt/4.8.0/gcc/lib/QtGui.framework/Versions/4/Headers -I../../../QtSDK/Desktop/Qt/4.8.0/gcc/include/QtGui -I../../../QtSDK/Desktop/Qt/4.8.0/gcc/include -I. -I../Test -I. -F/Users/jonathanbibas/QtSDK/Desktop/Qt/4.8.0/gcc/lib -o hexbutton.o ../Test/hexbutton.cpp
g++ -headerpad_max_install_names -arch x86_64 -Xarch_x86_64 -mmacosx-version-min=10.5 -o Test.app/Contents/MacOS/Test Main.o MyWindow.o hexbutton.o moc_MyWindow.o   -F/Users/jonathanbibas/QtSDK/Desktop/Qt/4.8.0/gcc/lib -L/Users/jonathanbibas/QtSDK/Desktop/Qt/4.8.0/gcc/lib -framework QtGui -framework QtCore 
Undefined symbols for architecture x86_64:
  "vtable for HexButton", referenced from:
      HexButton::HexButton(QWidget*, QIcon&, int, int)in hexbutton.o
      HexButton::HexButton(QWidget*, QIcon&, int, int)in hexbutton.o
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
make: *** [Test.app/Contents/MacOS/Test] Error 1
make: Leaving directory `/Users/jonathanbibas/Documents/Workspace Qt/Test-build-desktop-Desktop_Qt_4_8_0_for_GCC__Qt_SDK__Debug'
18:22:20: The process "/usr/bin/make" exited with code 2.
Error while building project Test (target: Desktop)
When executing build step 'Make'

顯然錯誤來自 Q_OBJECT(插槽定義需要),但我的代碼有問題,而不是我的編譯器(因為當插槽位于 MainWindow 時,它工作正常).

Apparently the error comes from the Q_OBJECT (needed for the slots definition), but there is something wrong with my code, not with my compiler (because I have when slots are in MainWindow, it works fine).

感謝您的幫助!

推薦答案

遇到同樣的問題

  1. 我的信號未定義的參考誤差.
  2. 放入 Q_OBJECT 宏后... vtable 錯誤.

我這樣做并為我工作

  • 在文件中添加了 Q_OBJECT
  • 清理項目
  • 跑qmake
  • 重建

它編譯得很好.

這篇關于錯誤:找不到架構 x86_64 的符號,collect2:ld 返回 1 個退出狀態的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

How can I read and manipulate CSV file data in C++?(如何在 C++ 中讀取和操作 CSV 文件數據?)
In C++ why can#39;t I write a for() loop like this: for( int i = 1, double i2 = 0; (在 C++ 中,為什么我不能像這樣編寫 for() 循環: for( int i = 1, double i2 = 0;)
How does OpenMP handle nested loops?(OpenMP 如何處理嵌套循環?)
Reusing thread in loop c++(在循環 C++ 中重用線程)
Precise thread sleep needed. Max 1ms error(需要精確的線程睡眠.最大 1ms 誤差)
Is there ever a need for a quot;do {...} while ( )quot; loop?(是否需要“do {...} while ()?環形?)
主站蜘蛛池模板: 氧化铁红厂家-淄博宗昂化工 | 贴片电感_贴片功率电感_贴片绕线电感_深圳市百斯特电子有限公司 贴片电容代理-三星电容-村田电容-风华电容-国巨电容-深圳市昂洋科技有限公司 | 济南品牌包装设计公司_济南VI标志设计公司_山东锐尚文化传播 | 插针变压器-家用电器变压器-工业空调变压器-CD型电抗器-余姚市中驰电器有限公司 | 掺铥光纤放大器-C/L波段光纤放大器-小信号光纤放大器-合肥脉锐光电技术有限公司 | 冰晶石|碱性嫩黄闪蒸干燥机-有机垃圾烘干设备-草酸钙盘式干燥机-常州市宝康干燥 | 招商帮-一站式网络营销服务|互联网整合营销|网络推广代运营|信息流推广|招商帮企业招商好帮手|搜索营销推广|短视视频营销推广 | 自动焊锡机_点胶机_螺丝机-锐驰机器人 | 挤出熔体泵_高温熔体泵_熔体出料泵_郑州海科熔体泵有限公司 | CTP磁天平|小电容测量仪|阴阳极极化_双液系沸点测定仪|dsj电渗实验装置-南京桑力电子设备厂 | 丁基胶边来料加工,医用活塞边角料加工,异戊二烯橡胶边来料加工-河北盛唐橡胶制品有限公司 | 金属软管_不锈钢金属软管_巩义市润达管道设备制造有限公司 | 交联度测试仪-湿漏电流测试仪-双85恒温恒湿试验箱-常州市科迈实验仪器有限公司 | 大数据营销公司_舆情监测软件_上海SEO公司-文军营销官网 | 北京百度网站优化|北京网站建设公司-百谷网络科技 | 有声小说,听书,听小说资源库-听世界网 | 恒温油槽-恒温水槽-低温恒温槽厂家-宁波科麦仪器有限公司 | 消泡剂_水处理消泡剂_切削液消泡剂_涂料消泡剂_有机硅消泡剂_广州中万新材料生产厂家 | 等离子表面处理机-等离子表面活化机-真空等离子清洗机-深圳市东信高科自动化设备有限公司 | 口臭的治疗方法,口臭怎么办,怎么除口臭,口臭的原因-口臭治疗网 | 微信小程序定制,广州app公众号商城网站开发公司-广东锋火 | 冷油器,取样冷却器,热力除氧器-连云港振辉机械设备有限公司 | 高速龙门架厂家_监控杆_多功能灯杆_信号灯杆_锂电池太阳能路灯-鑫世源照明 | 呼末二氧化碳|ETCO2模块采样管_气体干燥管_气体过滤器-湖南纳雄医疗器械有限公司 | 合金耐磨锤头_破碎机锤头_郑州市德勤建材有限公司 | 农业四情_农业气象站_田间小型气象站_智慧农业气象站-山东风途物联网 | 低温等离子清洗机(双气路进口)-嘉润万丰 | 空气弹簧|橡胶气囊|橡胶空气弹簧-上海松夏减震器有限公司 | 螺钉式热电偶_便携式温度传感器_压簧式热电偶|无锡联泰仪表有限公司|首页 | 潜水搅拌机-双曲面搅拌机-潜水推进器|奥伯尔环保 | 苏州教学设备-化工教学设备-环境工程教学模型|同科教仪 | 泥浆在线密度计厂家-防爆数字压力表-膜盒-远传压力表厂家-江苏大亚自控设备有限公司 | 双齿辊破碎机-大型狼牙破碎机视频-对辊破碎机价格/型号图片-金联机械设备生产厂家 | 超声波清洗机_细胞破碎仪_实验室超声仪器_恒温水浴-广东洁盟深那仪器 | 中医治疗皮肤病_潍坊银康医院「山东」重症皮肤病救治平台 | 展厅设计公司,展厅公司,展厅设计,展厅施工,展厅装修,企业展厅,展馆设计公司-深圳广州展厅设计公司 | 浙江美尔凯特智能厨卫股份有限公司| 滚珠丝杆升降机_螺旋升降机_丝杠升降机-德迈传动 | 便携式XPDM露点仪-在线式防爆露点仪-增强型烟气分析仪-约克仪器 冰雕-冰雪世界-大型冰雕展制作公司-赛北冰雕官网 | 自动气象站_农业气象站_超声波气象站_防爆气象站-山东万象环境科技有限公司 | 安全阀_弹簧式安全阀_美标安全阀_工业冷冻安全阀厂家-中国·阿司米阀门有限公司 |