g ++ 4.6 std :: thread error в Mac OS-X 10.5 - PullRequest
       22

g ++ 4.6 std :: thread error в Mac OS-X 10.5

2 голосов
/ 14 апреля 2011


Я пытался протестировать библиотеку потоков gcc4.6 на Mac OS-X 10.5. Я успешно скомпилировал и установил gcc4.6 по macports. Но самая простая параллельная программа hello world потерпела неудачу. Код такой:

#include <iostream>  
#include <thread>  

void sayhello() {std::cout << "Hello\n";}  
int main(){  
  std::thread t(sayhello);
  t.join();
}

Я пытался скомпилировать и использовал g++ -Wall -std=c++0x test.cpp Я получил ошибку:

'thread' is not a member of 'std'

Есть идеи, в чем причина проблемы и как ее исправить? Спасибо!

1 Ответ

2 голосов
/ 14 июля 2011

К сожалению, в реализации pthreads начиная с OSX 10.6.8 отсутствуют некоторые необходимые функции для потоков C ++ 0x.Во время настройки gcc обнаруживает это и отключает поддержку для них.Подробнее в std :: thread в MacPorts gcc4.5

...