在带有 Qt 的 AppVeyor 中使用 std::thread

Using std::thread in AppVeyor with Qt

我正在尝试将 AppVeyor 用于使用 Qt 制作的 C++ 程序。 我的 appveyor.yml 只做以下三件事:

    - cd Project
    - qmake Project.pro
    - mingw32-make

但是当 AppVeyor 试图编译我的项目时它告诉我

    error: 'thread' is not a member of 'std'

我确定问题不是出在我的代码上,因为它可以在我的计算机上运行或在使用 Travis 时运行 CI

为了以防万一,我还在 CI 中添加了 link: https://ci.appveyor.com/project/Xwilarg/programmanager/builds/23421335

有人知道我如何在 AppVeyor 中使用 std::thread 吗?

我假设您已经包含了 <thread>,所以下一个猜测是 std::thread 是 c++11 的一部分。您需要在项目中启用 c++11。

我终于找到了问题的答案。

正如 Shloim 所说,我不得不使用 https://github.com/meganz/mingw-std-threads

然后我的 CI 找不到 GetNativeSystemInfo 所以我不得不在编译标志中添加 -D _WIN32_WINNT=0x0501