问题描述
我正在编写C ++程序,并且将QT用于GUI。我需要将数据从QT线程传递到另一个线程,因此我决定使用一个外部变量,但是它不起作用。这是我的代码:
stream_buffer.h
#ifndef STREAM_BUFFER_H
#define STREAM_BUFFER_H
#include "opencv2/core.hpp"
extern cv::Mat frame_buffer;
#endif // STREAM_BUFFER_H
Thread1.cpp
#include "stream_buffer.h"
//Some code
cv::Mat frame_buffer;
video_stream >> frame_buffer;
//other code
Thread2.cpp
#include "stream_buffer.h
imshow("debug",frame_buffer);
在编译期间,出现错误unresolved external symbol frame_buffer in function void run in Thread2.cpp
。如果我也在Thread2.cpp中也定义了frame_buffer
变量,则它可以编译,但是当然不起作用(因为它是一个局部变量,所以它不会从公共头文件中读取值)。
如何解决此问题? 谢谢
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)