std :: thread en MacPorts gcc4.5
Estoy tratando de compilar algún software que he estado escribiendo en Linux que utiliza algunas nuevas y elegantes funciones de C ++ 0x en mi Mac. Utilicé MacPorts para instalar el paquete gcc45, que me dio /opt/local/bin/g++-mp-4.5, sin embargo, este compilador no quiere compilar nada en<thread>
. Por ejemplo, trato de compilar:
//test.cpp
#include <thread>
int main()
{
std::thread x;
return 0;
}
y obten:
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'
Una mirada rápida en / opt / local / include / gcc45 / c ++ / thread muestra que la clase std :: thread está definida, pero está protegida por lo siguiente:
#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1)
Nuevamente, esto funciona perfectamente en mi máquina Ubuntu, entonces, ¿cuál es la forma correcta de habilitar el c ++ 0x?<thread>
biblioteca bajo la versión MacPorts de g ++ 4.5 (g ++ - mp-4.5)? De lo contrario, ¿hay algo que necesite saber (configurar indicadores, etc.) antes de compilar yo mismo gcc 4.5?
Actualizar: No parece que la comunidad SO sepa mucho sobre esto, así que tal vez sea hora de acercarse un poco más a los desarrolladores. ¿Alguien sabe de una lista de correo oficial a la que pueda enviar esta pregunta? ¿Hay algún consejo de etiqueta para ayudarme a obtener una respuesta?
Actualización 2: Le pedí a SO otra solución temporalaquí, y ahora solo estoy sustituyendo las bibliotecas boost :: thread por las estándar. Desafortunadamente, no hay impulso :: futuro, por lo que aún no es una solución completa. Cualquier ayuda sería muy apreciada.