12 / 11 / 6
Регистрация: 05.10.2013
Сообщений: 219
1

Ошибка :-1: ошибка: symbol(s) not found for architecture x86_64

24.09.2016, 11:09. Показов 17887. Ответов 4
Метки нет (Все метки)

При попытке сборки простейшего QT приложения c добавленным новым классом ошибка:

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
Undefined symbols for architecture x86_64:
  "Progress::slotStep()", referenced from:
      Progress::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) in moc_progress.o
  "Progress::slotReset()", referenced from:
      Progress::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) in moc_progress.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [untitled11.app/Contents/MacOS/untitled11] Error 1
10:55:24: Процесс «/usr/bin/make» завершился с кодом 2.
Ошибка при сборке/установке проекта untitled11 (комплект: Desktop Qt 5.7.0 clang 64bit)
До добавления класса пустой проект собирается, ОС Mac OX 10.11, ситуация такая изначально ни каких обновлений не происходило, если собирать совсем что что то простое руками (пустой проект и к нему подключать main.cpp и редактирова *.pro рукам все работает)

Вот исходники что НЕ собираются..
untitled11.pro
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
QT       += core gui
 
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
 
TARGET = untitled11
TEMPLATE = app
 
SOURCES += main.cpp\
 progress.cpp
 
HEADERS  += progress.h
main.cpp
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
#include "progress.h"
#include <QApplication>
 
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Progress w;
    w.show();
 
    return a.exec();
}
progress.h

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#ifndef PROGRESS_H
#define PROGRESS_H
#include <QWidget>
 
class QProgressBar;
class Progress : public QWidget
{
    Q_OBJECT
private:
    QProgressBar* m_pprb;
            int   m_nStep;
public:
    Progress(QWidget *parent = 0);
 
public slots:
    void slotStep();
    void slotReset();
};
 
#endif // PROGRESS_H
progress.cpp

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include "progress.h"
#include <QtWidgets>
 
Progress::Progress(QWidget* pwgt /*= 0*/)
    : QWidget(pwgt)
    , m_nStep(0)
{
    m_pprb = new QProgressBar;
    m_pprb->setRange(0,5);
    m_pprb->setMinimumWidth(200);
    m_pprb->setAlignment(Qt::AlignCenter);
 
    QPushButton* pcmdStep = new QPushButton;
    QPushButton* pcmdReset = new QPushButton;
 
    QObject::connect(pcmdStep, SIGNAL(clicked()), SLOT(slotStep()));
    QObject::connect(pcmdReset, SIGNAL(clicked()), SLOT(slotReset()));
 
    QHBoxLayout* phbxLayout = new QHBoxLayout;
    phbxLayout->addWidget(m_pprb);
    phbxLayout->addWidget(pcmdStep);
    phbxLayout->addWidget(pcmdReset);
    setLayout(phbxLayout);
 
}
Подскажите это собственности компилятора или я жестко недопонимаю что то QT особенностями ООП?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.09.2016, 11:09
Ответы с готовыми решениями:

Ошибка g++, Qt: ld: symbol(s) not found for architecture x86_6
Здравствуйте. При сборке программы из двух .cpp файлов и одного .h вывваливается ошибка: ...

Ошибка при подключении плагина QPSQL "Symbol lookup error undefined symbol pqstatus"
Подскажите пожалуйста. Подключила драйвер PSQL, но при попытке выполнить код QSqlDatabase db...

symbol(s) not found for architecture x86_64 как это побороть?
Привет всем тем кто это читает! Я не очень компетентен в сфере программирования, так как только...

Ошибка Undefined symbols for architecture x86_64
Коллеги новичёк в objective-c. Столкнулся с такой проблемой Undefined symbols for architecture...

4
7166 / 6141 / 2802
Регистрация: 14.04.2014
Сообщений: 26,462
24.09.2016, 12:12 2
Очистить всё пробовал?
0
12 / 11 / 6
Регистрация: 05.10.2013
Сообщений: 219
24.09.2016, 12:18  [ТС] 3
Цитата Сообщение от nmcf Посмотреть сообщение
Очистить всё пробовал?
Пробовал очищать, закрывать, перезагружаться..
0
Почетный модератор
11280 / 4249 / 433
Регистрация: 12.06.2008
Сообщений: 12,244
24.09.2016, 16:32 4
Лучший ответ Сообщение было отмечено Fanera как решение

Решение

А у вас функции slotStep() и slotReset() существуют? В вашем примере в progress.cpp не вижу их.
2
12 / 11 / 6
Регистрация: 05.10.2013
Сообщений: 219
24.09.2016, 16:41  [ТС] 5
Humanoid, Жесть) по субботам должен быть шабат, ничего нельзя делать в выходной..
Все правильно не дописал ..

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
void Progress::slotStep()
{
    m_pprb->setValue(++m_nStep);
}
 
void Progress::slotReset()
{
    m_nStep = 0;
    m_pprb->reset();
}
Теперь работает)))))))
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.09.2016, 16:41
Помогаю со студенческими работами здесь

Undefined symbols for architecture x86_64
#include &lt;iostream&gt; using namespace std; class Animal { protected: string...

Отладчик падает с ошибкой "Undefined symbols for architecture x86_64"
Здравствуйте, дорогие форумчане! Пишу динамическую библиотеку под МАС ОС Mavericks 64-bit в среде...

Ошибка Cannot open file: ./sysdeps/x86_64/strlen.S
#include &lt;cstring&gt; #include &lt;cstdlib&gt; #include &lt;cstdio&gt; #include &lt;iostream&gt; #include &lt;iomanip&gt;...

Ошибка No target architecture
C:\Program Files (x86)\PellesC\Include\Win\winnt.h(559): fatal error #1014: #error: &quot;No target...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru