Russian Qt Forum

Qt => Вопросы новичков => Тема начата: WILY от Апрель 18, 2016, 21:15



Название: ошибка линковщика, при вызова сигнала из другого потока
Отправлено: WILY от Апрель 18, 2016, 21:15
Всем бодрого вечера!
Столкнулся вот с такой задачкой, из второго потока пытаюсь сымитировать сигнал:

Код
C++ (Qt)
.h
#include <QThread>
#include <QtCore>
 
class loopThread : public QThread
{
public:
   loopThread();
...
signals:
   void         getResultListSignal(int );
....
};
 
.cpp
void loopThread::run()
{
 
....
       emit getResultListSignal(m_FirstDirFilesPath.size() * m_SecondDirFilesPath.size());
...
}
 

и выпадает такая ошибонька  

Код:
Undefined symbols for architecture x86_64:
  "loopThread::getResultListSignal(int)", referenced from:
      loopThread::run() in loopthread.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: *** [checkAll.app/Contents/MacOS/checkAll] Error 1
21:19:55: Процесс «/usr/bin/make» завершился с кодом 2.
Ошибка при сборке/установке проекта checkAll (комплект: Desktop Qt 5.5.1 clang 64bit)

Соответсвенно если закоментить емит, все собирается.


Название: Re: ошибка линковщика, при вызова сигнала из другого потока
Отправлено: Old от Апрель 18, 2016, 21:20
Код
C++ (Qt)
class loopThread : public QThread
{
   Q_OBJECT
public:
 

Понадобится перезапустить qmake для проекта.


Название: Re: ошибка линковщика, при вызова сигнала из другого потока
Отправлено: WILY от Апрель 18, 2016, 21:25
Спасибо вам большое!
Вот же я глупец, слепец и даун)
Крепкого здоровья!