std :: thread no MacPorts gcc4.5
Estou tentando compilar algum software que escrevi no Linux que usa alguns recursos novos e sofisticados do C ++ 0x no meu Mac. Eu usei o MacPorts para instalar o pacote gcc45, que me deu /opt/local/bin/g++-mp-4.5, no entanto, este compilador não deseja compilar nada no<thread>
. Por exemplo, eu tento compilar:
//test.cpp
#include <thread>
int main()
{
std::thread x;
return 0;
}
e pegue:
bash-3.2$ /opt/local/bin/g++-mp-4.5 -std=c++0x test.cpp
test.cpp: In function 'int main()':
test.cpp:5:2: error: 'thread' is not a member of 'std'
test.cpp:5:14: error: expected ';' before 'x'
Uma rápida olhada em / opt / local / include / gcc45 / c ++ / thread mostra que a classe std :: thread está definida, mas é protegida pelo seguinte:
#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1)
Novamente, isso funciona perfeitamente na minha máquina Ubuntu, então qual é a maneira correta de ativar o c ++ 0x<thread>
biblioteca sob a versão MacPorts do g ++ 4.5 (g ++ - mp-4.5)? Caso contrário, há algo que eu precise saber (configurar sinalizadores etc.) antes de eu mesmo compilar o gcc 4.5?
Atualizar: Não parece que a comunidade SO saiba muito sobre isso, então talvez seja hora de se aproximar um pouco mais dos desenvolvedores. Alguém sabe de uma lista de discussão oficial para a qual eu poderia encaminhar esta pergunta? Existem dicas de etiqueta para me ajudar a obter uma resposta?
Atualização 2: Eu pedi para outra solução temporáriaaqui, e agora estou substituindo as bibliotecas boost :: thread pelas std. Infelizmente, não há boost :: future, portanto essa ainda não é uma solução completa. Qualquer ajuda ainda seria muito apreciada.