所以我決定今天給C++一個試試。我下載了MinGw和它附帶的g ++編譯器。我決定測試下面的代碼:std :: thread在cygwin中工作,但不在MinGw中
#include <iostream>
#include <thread>
int foo()
{
std::cout << "foo" << std::endl;
}
int main()
{
std::thread t1(foo);
t1.join();
std::cout << "done" << std::endl;
return 0;
}
然後我試圖編譯它使用以下行的命令行:
g++ -std=c++11 main.cpp
這對你好世界的作品。而這一次,它給了我這個錯誤:
error: 'thread' is not a member of 'std'
我使用的cygwin提供的G ++試圖完全相同的代碼,它的作品。那麼爲什麼它在MinGw中不起作用呢?它是過時的還是什麼?我想在cygwin終端上使用C++ 11和C++ 14編譯東西,但不在cygwin環境中。
我前幾天有過這個問題......以下鏈接可能對您的回答有用http://jaist.dl.sourceforge.net/project/mingw-w64/Toolchains%20targetting%20Win64/Personal%20Builds/ mingw-builds/5.3.0/threads-posix/ – silvergasp
@NathanielBrough在SO答案中鏈接到具體版本的東西通常不是一個好主意,它可能會導致人們下載舊版軟件。 – user657267
@NathanielBrough你是說MinGw已經過時了嗎?通過安裝MinGw-64,它會解決這個問題嗎?另外,他們是一樣的東西,還是隻更新一個anohter? – user3685285