gpt4 book ai didi

c++ - 来自另一个线程的发出信号的qt链接器错误

转载 作者:行者123 更新时间:2023-11-28 05:43:20 25 4
gpt4 key购买 nike

我将尝试从另一个线程发出信号。我的编译说下一个错误

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -headerpad_max_install_names -Wl,-syslibroot,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -mmacosx-version-min=10.7 -Wl,-rpath,/Users/Gleb/Qt/5.5/clang_64/lib -o checkAll.app/Contents/MacOS/checkAll main.o mainwindow.o utilits.o loopthread.o moc_mainwindow.o   -F/Users/Gleb/Qt/5.5/clang_64/lib -framework QtWidgets -framework QtGui -framework QtCore -framework DiskArbitration -framework IOKit -framework OpenGL -framework AGL 
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
20:48:47: Процесс «/usr/bin/make» завершился с кодом 2.
Ошибка при сборке/установке проекта checkAll (комплект: Desktop Qt 5.5.1 clang 64bit)

都是关于这个的:

    #include <QThread>
#include <QtCore>

class loopThread : public QThread
{
....
protected:
void run();
....

signals:
void getResultListSignal(int);
};


void loopThread::run()
{
....
emit getResultListSignal(m_FirstDirFilesPath.size() * m_SecondDirFilesPath.size());
....
}

但是如果我评论这个字符串,所有的程序都可以正常工作

最佳答案

您要么在 loopThread 中缺少 Q_OBJECT 宏,要么您没有通过 moc 运行头文件。

关于c++ - 来自另一个线程的发出信号的qt链接器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36701019/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com