Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Compladores de C++

Iniciado por SakuraAdv, 22 de Diciembre de 2007, 02:35:44 PM

« anterior - próximo »

SakuraAdv

Me gustaría consultar una cosa.

Hasta ahora siempre he usado Dev-C++ como compilador de C, pero ahora y sobretodo con la salida de windows vista, me gustaría cambiar a otro entorno de desarrollo mas actualizado.

Me gustaría saber si podrían decirme cuales son los entornos de C++ que están para para varias plataformas ( no sea solo windows ) con mas calidad según su experiencia.

Gracias de antemano.

Zaelsius

Para Windows te recomiendo el Visual Studio C++ 2005 Express, es gratuito. Necesitarás instalar el Platform SDK por separado si quieres compilar ejecutables nativos Win32.

Vicente

También puedes usar el VC++ 2008 Express. Un saludo!

Vicente


SakuraAdv

Cita de: "misscelan"http://www.codeblocks.org (Codeblocks + MinGW). Uno para controlarlos a todos...

Un saludo.

Algo como esto es lo que busco, probaré a ver este.

Pogacha

Ten en cuenta que el Visual Studio es mejor :P
Pero para la mayoria de las cosas que quieras hacer los dos son casi lo mismo, habrá ventajas y desventajas en uno y en otro.

SakuraAdv

Se que el visual es mejor, también el ajunta, pero no son multiplatafoma sus  IDE's de desarrollo uno es para windows solo y el otro para linux, por eso no los escojo.

De todos modos tuve un problema, a ver si alguien puede ayudarme, el siguiente código me da el siguiente error:



#include <string>
#include <iostream>

#include "evf/evf.hpp"

using namespace std;

int main()
{
  wchar_t ch;                 // declaración de carácter ancho

  wchar_t* str = L"ABCD";     // puntero a cadena de caracteres anchos

  wcout << "La cadena es: " << str << std::endl;    // L.3

  wcout << L"La cadena es: " << str << endl;   // L.4

  wchar_t cnulo = L'\0';       // carácter nulo ancho

  return 0;
}


Compiling: index.cpp
index.cpp: In function `int main()':
index.cpp:15: error: `wcout' undeclared (first use this function)
index.cpp:15: error: (Each undeclared identifier is reported only once for each function it appears in.)
Process terminated with status 1 (0 minutes, 1 seconds)


La cosa es que estoy desarrollando un motor y definí una clase string muy completa, pero que quiero que sea multilingue para traducir después el juego que voy a desarrollar a varios idiomas, intenté usar el tipo wchar_t, pero nunca lo había usado siceramente y no me está funcionando muy bien.

Esto son pruebas que estoy haciendo al margen de la clase, que almacena realmente la cadena en este tipo de dato.

Alguien sabría decirme por que?

fjfnaranjo

Básicamente el error te dice que el statment "wcout" no está declarado, tampoco es que sea un experto en C++, pero, ¿no sería "cout"?, y esa L delante de la cadena de texto, ¿es algún tipo de modificador? por que si no, no me explico porque no da error de sintaxis... tengo que revisar mi c++ xd
fjfnaranjo.com - Creating entertainment - Creando entretenimiento
fjfnaranjo [4t] gm4il [d0t] c0m (mail y msn)

SakuraAdv

Cita de: "fjfnaranjo"Básicamente el error te dice que el statment "wcout" no está declarado, tampoco es que sea un experto en C++, pero, ¿no sería "cout"?, y esa L delante de la cadena de texto, ¿es algún tipo de modificador? por que si no, no me explico porque no da error de sintaxis... tengo que revisar mi c++ xd

no, es wcout, es para caracteres extendidos, en teoría para trabajar con unicode, ya que el tipo char no vale, solo sirve para representar el ASCII y el ASCII extendido, de ahí nace este tipo, creo que su nombre es "Caracter Ancho" si no recuerdo mal.

SakuraAdv

Gracias, ya encontré la respuesta, ahora la pregunta es, alguien conoce una alternativa para usar unicode en C++.

Gracias.


   G'day all!

   THE CODE:
   ---------
   #include <iostream>


   int main()
   {
    std::wcout << std::endl;
   }


   THE ERROR:
   ----------
   $ g++ a.cpp
   a.cpp: In function `int main()':
   a.cpp:6: error: `wcout' undeclared in namespace `std'



On cygwin and some other platforms unicode is not supported in libstdc++. There is nothing you can do except to change standard template library. On windows (cygwin) you can use STLport (www.stlport.org) instead of libstdc++ that has support for unicode. You could try the same thing on other problematic unix systems since STLport is portable.

Darko






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.