2 kaious Kaious 于 2016.04.11 14:48 提问

Qt中有关线程函数使用的问题

在Qt中使用InitializeConditionVariable(),SleepConditionVariableCS(),WakeAllConditionVariable()的时候,总是报错:undefined reference to'InitCondition', undefined reference
to'BroadcastCondition', undefined reference to'WaitCondition'.
我查了一下上面3个函数在系统的synchapi.h文件里。我一开始以为是这个头文件没包含进来。
但是程序中同样使用了该头文件里的InitializeCriticalSection(),LeaveCriticalSection()等
函数却没有报错。请问这是什么问题?

3个回答

CSDNXIAOD
CSDNXIAOD   2016.04.11 14:53

QT使用线程以及线程同步
线程函数有关的问题
线程函数有关的问题
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

qq423399099
qq423399099   Ds   Rxr 2016.04.11 14:57

楼主先试一下删掉原来的DEBUG目录,重新编译一下
这个错误一般是找不到函数的实现,或者链接库没有配置正确
楼主是在用线程锁?那不妨用QT提供的

Kaious
Kaious 感谢
2 年多之前 回复
u011012932
u011012932   Rxr 2016.08.10 18:52
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
qt中的线程事例
qt中的线程事例,简单易懂的线程函数,在qt下使用线程
QT线程调用界面函数
Qt的线程要继承QThread,重写实现run函数。 1:如果只是逻辑计算,可以直接在线程类中实现; 2:如果在线程中想要调用界面函数,不可直接调用;则需要: (1):在线程中声明一个信号signal函数,不用实现,可以有参数同需要调用的界面类函数,也可以不用参数(和普通的signal与slot一样);signal不要指定public,protect,private;  (2):在需要调用
利用QT的QThread将一个类中的成员函数转到线程下执行
#include "displaythread.h" #include "mainwindow.h" DisplayThread::DisplayThread(MainWindow *pWindow, QObject *parent) : QThread(parent) { m_pWindow = pWindow; } void DisplayThread::run() {
Qt 多线程编程中的对象线程与函数执行线程
近来用Qt编写一段多线程的TcpSocket通信程序,被其中Qt中报的几个warning搞晕了,一会儿是说“Cannot create children for a parent that is in a different thread”,有时候又是“QSocketNotifier: socket notifiers cannot be enabled from another thread
qt线程动态回调被调类中的函数
实现qt线程动态回调函数
Qt 创建一个线程执行某个函数
某个函数需要用线程执行时,创建一个一次性的线程,在线程里面调用该函数。 头文件 class TaskThread : public QThread { Q_OBJECT public: TaskThread(QObject *parent = 0); ~TaskThread(); void setFunction(QObject* obj,Q
QT的进程与线程
该文章原创于Qter开源社区(www.qter.org),作者yafeilinux,转载请注明出处! 导语 在前面的几节内容中讲解了Qt网络编程的一些基本内容,这一节来看一下在Qt中进程和线程的基本应用。 环境:Windows Xp + Qt 4.8.5+Qt Creator2.8.0 目录
QT线程QThread的推荐用法
QT线程QThread的推荐用法 在 代码示例中, QT线程单次运行一个函数,推荐用QtConcurrent::run() 在另一个线程中运行一个函数
关于Qt在子线程中使用QMessageBox的折衷方法
Qt将所有UI相关的处理都限制在主线程中,这么做有助于防止意想不到的访问冲突产生,但也限制了线程中某些简单的UI交互的实现,比如QMessageBox。 因为QMessageBox必须在主线程中打开,为了使用它,便不得不自己动手实现一些信号和槽,从而增加了自己代码的复杂度。为降低使用QMessageBox时的设计负担,本文从QThread类继承一个新类MsgBoxThread,将这些实现细节封装
Qt exec()做了什么
开发中的小细节,QT:exec()到底做了什么事情?