Я пытаюсь собрать следующую программу на 64-битной Windows 7 машине с установленным Cygwin и ССАГПЗ компилятор обновлен до 4.7.3:gcc 4.7.3 на cygwin поддерживает функции параллелизма C++ 11?
#include <vector>
#include <thread>
#include <mutex>
using namespace std;
std::mutex flemutex;
std::mutex arrmutex;
main() {
thread t;
}
На компиляции с помощью следующей команды:
gcc -std=c++11 -o file.o -c file.cpp
я получаю следующие ошибки:
file.cpp:12:1: error: ‘mutex’ in namespace ‘std’ does not name a type
file.cpp:13:1: error: ‘mutex’ in namespace ‘std’ does not name a type
file.cpp: In function ‘int main()’:
file.cpp:39:3: error: ‘thread’ is not a member of ‘std’
file.cpp:39:15: error: expected ‘;’ before ‘t’
кто-нибудь знает, что происходит?
Спасибо!
(1) Вы пытались добавить '-lpthread' в командную строку gcc? (2) Вы можете скачать MinGW, который не нужен cygwin и работает с потоками «из окна» – borisbn
Я попытался добавить -lpthread в командную строку, и это не сработало. Во всяком случае, я просто компилирую здесь, а не ссылку, так что это не должно иметь никакого эффекта, правильно? Кроме того, я надеюсь, что это работает на cygwin и не нужно устанавливать MinGW на мою машину. Могут ли сосуществовать мирно на одной машине? – user2358643
Простой - обновление cygwin и gcc. – ikh