Foros - Stratos

Programadores => General Programadores => Mensaje iniciado por: Loover en 01 de Diciembre de 2003, 02:12:04 PM

Título: Sgi Standard Template Library
Publicado por: Loover en 01 de Diciembre de 2003, 02:12:04 PM
 Buenas, hacía un huevo que no me pasaba por aquí :) Saludos a todos!

Bueno, al grano. Tengo un problema con la STL de SGI. No logro instalarla bien para usarla con Visual Studio 6.
Hago los siguientes pasos: bajo la libreria (en una caperta llamada stl). Luego, desde el visual studio, voy a project>settings>c/c++>preprocesor>additional include directories y le meto el valor "c:\stl" (donde esta la carpetita).

Hasta ahi bien.¡ Pero cuando le doy a compilar me da mil errores! Pero no la stl, sino .h de la carpeta del visual que deben entrar en conflicto o alguna cochinada por el estilo.

¿Cómo se instala correctamente?

Un saludo!
Título: Sgi Standard Template Library
Publicado por: NeLo en 01 de Diciembre de 2003, 03:38:38 PM
 Tienes que hacer más cosas aparte de lo que has hecho, pero no me acuerdo el qué  :(

No recuerdo si habia que quitar no se qué include o...

No recuerdo. Pero por lo menos sabes que te falta algo, busca in the google.

Sorry.
Título: Sgi Standard Template Library
Publicado por: Zaelsius en 01 de Diciembre de 2003, 04:01:30 PM
 Si el error es debido a los .h de Visual Studio, puede que sea porque están en un directorio de búsqueda con mayor preferencia. Prueba a poner la carpeta de SGI la primera en la lista de carpetas de includes.

Yo tengo el VS.Net, pero viendo la foto del cuadro de propiedades del VC6 en la DX9SDK... creo que te has ido al lugar equivocado(o al menos no es la opción general). El menú en cuestión está en Tools/Options/(pestaña directories)

No te olvides de dar preferencia al directorio de tus STL respecto a las de Microsoft :P
Título: Sgi Standard Template Library
Publicado por: Loover en 01 de Diciembre de 2003, 06:48:59 PM
 He probado lo de tool>settings y poner el include por encima en prioridad a los include del visual... pero me sigue dando la misma jarta a errores. Me da errores en xiosbase, xlocnum, streambuf, ios y ostream. Unos 80 errores.

Me da estos errores al intentar hacer el include de algun container como un include o include . Indistintamente me da exactamente los mismos errores y en el mismo número de ellos.

Me voy a pegar un tiro. ¿Es mucho mejor la STL de SGI que la que viene con el visual studio 6? Es que me ta tocando los cojoncillos ya.

En cuanto a lo de buscar en google... ya busqué antes de venir aquí. Esto siempre lo utilizo como último recurso. En la web oficial de STL en el faq de preguntas te dice que uses la opción -I del compilador, que viene a ser lo que estoy haciendo.

Un saludo!
Título: Sgi Standard Template Library
Publicado por: Loover en 01 de Diciembre de 2003, 07:32:46 PM
 Parece ser que el error lo provocaba esto:

#include

¿Entraba en conflicto con la STL de SGI?

De todos modos ahora me da error en la siquiente linea (con la STL del visual no lo daba);

list <int>::iterator pruebaIt;
error C2653: 'list<int,class std::__default_alloc_template<0,0> >' : is not a class or namespace name


Jooooorl :(
Título: Sgi Standard Template Library
Publicado por: CoLSoN2 en 01 de Diciembre de 2003, 07:46:46 PM
 usa STLport =) stlport.org
aunque segun me han dicho la stl de ms del VS .NET no es tan mala
Título: Sgi Standard Template Library
Publicado por: Loover en 01 de Diciembre de 2003, 08:08:20 PM
 Fallaba por un using namespace std; que tenía en main.h y debería haber estado en main.cpp. Lo curioso es que eso peta con la STL de SGI, pero no con la STL que visual studio lleva por defecto.

También falla en cuanto hago un include "fstream"; :S
Título: Sgi Standard Template Library
Publicado por: DraKKaR en 02 de Diciembre de 2003, 12:34:24 AM
 ¿Que tiene de mala la STL que viene con el Visual C++ 6? Yo la he usado desde que la aconsejasteis enumerando sus maravillas, y desde entonces no he tenido ninguna queja.
Título: Sgi Standard Template Library
Publicado por: Grugnorr en 02 de Diciembre de 2003, 08:48:55 AM
 La implementación es menos eficiente que la de SGI y STLPort(se basa en la de SGI)

En el Visual .net y siguientes ya viene con una implementación digna

Aconsejaría usar las STLPort, que son multiplataforma, traspasan dll boundaries y tienen un modo debug muy útil... cuando logre compilarlas lo comprobaré ^_^, el día que lo intenté no fuí capaz  (nooo)  
Título: Sgi Standard Template Library
Publicado por: Loover en 02 de Diciembre de 2003, 12:38:40 PM
 Yata, toy usando la STLport y va de maravilla. Yo tampoco logré compilarla así que me baje los libs de mi versión que estaban por ahí :)
Como odio cuando quiero compilar algo y no esta el tipico iconito de proyecto del visual studio... que pereza me da tener que agregarlos yo mismo.

Ahora ya no me falla el include (usa el de la STLPort) y tampoco me hace falta el using namespace std en main.cpp, basta con que esté en main.h

PD: Que bonitas las tablas hash :)
Título: Sgi Standard Template Library
Publicado por: CoLSoN2 en 02 de Diciembre de 2003, 07:08:24 PM
 Grugnorr bajate los binarios de stlport para windows de la web del ogre
www.ogre3d.org
Título: Sgi Standard Template Library
Publicado por: Repoker en 02 de Diciembre de 2003, 07:40:21 PM
Cita de: "DraKKaR"¿Que tiene de mala la STL que viene con el Visual C++ 6? Yo la he usado desde que la aconsejasteis enumerando sus maravillas, y desde entonces no he tenido ninguna queja.
QUÉ?

XD

Las STL que trae el VS6.0 son indignas :( y si no lo crees, prueba a compilar cualquier programa en que uses STL en Linux bajo Windows con el VS6 ... para flipar :(

Otra cosa es que para el uso que tú le des no hayas encontrado problemas, en ese caso, te recomiendo que sacrifiques una cabra delante del PC antes de 24h o de repente tus programas empezaran a dejar de funcinar.

PD: Envia esto a 10 personas en menos de 2 minutos o se te caerá la picha a cachos XD
Título: Sgi Standard Template Library
Publicado por: DraKKaR en 03 de Diciembre de 2003, 09:45:40 AM
 La verdad es que hasta ahora solo he usado la template vector y la clase string :P, no tengo ni idea de como funcionarán las demás cosas, pero esas, parece que van bien.

PD: Cabra sacrificada, por si acaso.
Título: Sgi Standard Template Library
Publicado por: Zaelsius en 03 de Diciembre de 2003, 04:22:49 PM
 Cosas tan útiles como un hash_map no existen en las STL de Microsoft. :angry:  
Título: Sgi Standard Template Library
Publicado por: Grugnorr en 03 de Diciembre de 2003, 06:14:44 PM
 Zaelsius, ahí te pasas de exigente con Microsoft. Ninguno de los contenedores hash, ni el rope ni la slist pertenecen al Standard, no dió tiempo de estandarizarse y han salido como extensiones (en plan OpenGL ^_^ )
Título: Sgi Standard Template Library
Publicado por: Zaelsius en 03 de Diciembre de 2003, 08:15:01 PM
 
Hombre, hash_map<> está presente en (al menos) la última edición del C++ Programming Language de Stroustrup, no sabia que fuese una plantilla poco extendida. A Microsoft no creo que le cueste mucho esfuerzo ampliar su implementación de STL, teniendo tantos recursos como tiene. Yo utilizo STLPort tambien, porque las de SGI me dieron varios problemillas.
Título: Sgi Standard Template Library
Publicado por: ethernet en 07 de Diciembre de 2003, 04:52:42 PM
 Yo uso STL de SGI y nunca he tenido ningún problema grave e hice lo mismo que decían en los primeros post, crear una carpeta, meter las cabeceras, y añadirle al path del compilador esa carpeta delante de todas las anteriores (para darle más prioridad como indica en el README que te viene cuando te bajas la distribución). El único que me surgió fue al usar los streams (cout, cerr..), cosa que no he conseguido solucionar aun, y he comentado miles de veces en este foro.

saludos