Ver Mensaje Individual
  #15 (permalink)  
Antiguo 02/07/2015, 05:49
Avatar de vangodp
vangodp
 
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 11 años, 3 meses
Puntos: 38
Respuesta: C++ en Windows XP

recomiendo que lo instales en la ruta C:\mingw-w64

1ºuego vas a Toolchain executables de codeblocks en el menú Settings/Compiler settings, y ponga de esta forma:
... Es la ruta de donde tienes la carpeta bin que pide en las letras rojas donde pone NOTE... Lo que al compilador le interesa, es el súper directorio donde se encuentra C:\mingw-w64\i686-5.1.0-posix-dwarf-rt_v4-rev0\mingw32\bin, entonces le indicamos su dirección C:\mingw-w64\i686-5.1.0-posix-dwarf-rt_v4-rev0\mingw32, sin el \bin, el programa ya sabe que ahí está la carpeta bin, no tenemos que indicar en la dirección, dentro esta gcc.exe y g++.exe, eso son los compiladores.

Ahora se indica al IDE los includes y las libs, son 2 carpetas que se encuentran dentro de la carpeta i686-w64-mingw32. Son las carpetas include y lib

Vamos al menú Serch directories(la pestaña anterior a Toolchain executables), y en la subpestaña llamada compiler le pones C:\mingw-w64\i686-5.1.0-posix-dwarf-rt_v4-rev0\mingw32\i686-w64-mingw32\include

NOTA: Caso no encuentre los headers cuando hagas los includes, entonces puede que tengas que añadir todas las subcarpetas, C:\mingw-w64\i686-5.1.0-posix-dwarf-rt_v4-rev0\mingw32\i686-w64-mingw32\include\c++, ...\include\ddk, ...\include\gdiplus, etc etc. Pero creo que eso no va hacer falta, lo que el compilador busca son esos archivos.h y los otros que no tienen extensión que están dentro de la carpeta c++ por ejemplo, pueden haber otros dentro de cada carpeta de esas que hay dentro de la carpeta i686-w64-mingw32.

Luego al lado de la pestaña compiler seleccionas ahora linker, y le indicamos al IDE la carpeta lib: C:\mingw-w64\i686-5.1.0-posix-dwarf-rt_v4-rev0\mingw32\i686-w64-mingw32\lib

Con todo lo de arriba creo que ya está listo.

resumiendo:
Indicar al IDE(Toolchain executables) los ejecutables que están dentro de la carpeta bin, esos son:
-C compiler=i686-w64-mingw32-gcc.exe
-C++ compiler=i686-w64-mingw32-g++.exe
-Linker for dynamic libs=i686-w64-mingw32-g++.exe
-Linker for static libs=ar.exe
-Debugger=GDB/CDB debugger : Default
-Resource compiler=windres.exe
-Make programa=mingw32-make.exe

pero a lo mejor codeblocks intenta buscar por esos nombres:
-C compiler=mingw32-gcc.exe
-C++ compiler=mingw32-g++.exe
-Linker for dynamic libs=mingw32-g++.exe
-Linker for static libs=ar.exe
-Debugger=GDB/CDB debugger : Default
-Resource compiler=windres.exe
-Make programa=mingw32-make.exe

...Y esta es la razón por la que no se configura solo. Es por que el mingw w64 le ponen diferentes nombres a algunos archivos, entonces no te queda otra que configurarlo manualmente.

Después de tener todo eso configurado es cuestión de ir a opciones avanzadas del sistema y añadir el PATH de la carpeta bin, la misma que indicamos al toolchain, o sea: C:\mingw-w64\i686-5.1.0-posix-dwarf-rt_v4-rev0\mingw32\bin.

Aun que ese paso no sea necesario, si es recomendable ya que de no hacerlo puede que al ejecutar el exe, te puede pedir que añadas ciertos dlls que están dentro de esa misma carpeta bin, que no se cuales son, ya que, o deben estar juntos al fichero ejecutable creado, o deben estar incluidos de forma estática(dentro del exe) o bien deben estar declarados en el PATH del sistema, ésta ultima forma es como si el sistema creyera que esta junto al exe aun que no lo este realmente. Si tienes problema con esa ultima forma es solo decir y nos la apañamos XD.

Creo que con eso se soluciona el problema de la instalación.

Y una cosa más, atento a las versiones, x86_x64 o x86 es 32 bits, luego está el x64 que claramente es solo para 64 bits, al parecer es para ambas plataformas, mis sistema es uno de 32 bits, y la confi esta que te paso es para ese sistema. En 64 puede variar nombres o yo que se jaja, como se trata de un instalador supongo que el te busca la version correcta según el sistema operativo, si ves diferencias haz díganos aquí para estarnos más atentos a eso. =)

Suerte