不能在wxWidgets应用程序中包含std::线程头

Cannot include std::thread header in wxWidgets application

本文关键字:std 线程 包含 wxWidgets 应用程序 不能      更新时间:2023-10-16

我有以下代码:

#include "wxwx.h"
class BClient : public wxApp
{
   virtual bool OnInit();
   virtual int  OnQuit();
};
IMPLEMENT_APP(BClient)
bool BClient::OnInit()
{
    return true;
}
int BClient::OnQuit()
{
    return 0;
}

当我尝试添加

一行时
#include <thread>

我收到这个错误:

错误10错误C2347: '__w64':不能与类型'__w64一起使用无符号__int64 '

错误12 C2143:语法错误:缺少';' before ','

错误13 C2059:语法错误:','

c:program files (x86)microsoft visual studio 12.0vcinclude concrete .h

所以,由于某些原因,wxwidgets和std::thread不能混合在一起。

有人能给我解释一下为什么会发生这种情况,有没有解决这个问题的办法?

谢谢。

您的MSVS安装有问题。在这里,在#include <wx/wx.h> 1之前或之后添加#include <thread>行都没有任何问题。

另外,在一个完全不相关的注释中,基类中没有OnQuit(),只有OnExit()