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

时间:2015-05-26 13:07:30

标签: c++ multithreading std wxwidgets

我有以下代码:

#include "wx\wx.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一起使用   unsigned __int64'

     

错误12错误C2143:语法错误:缺少';'在','之前

     

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

错误引用此文件: c:\ program files(x86)\ microsoft visual studio 12.0 \ vc \ include \ concrt.h

因此,出于某种原因,wxwidgets和std :: thread不会混合在一起。

有人可以向我解释为什么会发生这种情况,是否有针对此问题的解决方法?

感谢。

1 个答案:

答案 0 :(得分:0)

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

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