Foros del Web » Programación para mayores de 30 ;) » C/C++ »

[SOLUCIONADO] Problema al compilar en la consola.

Estas en el tema de Problema al compilar en la consola. en el foro de C/C++ en Foros del Web. Puedo compilar archivos .cpp, pero cuando quiero abrir el ejecutable me dice que"No es compatible con la version de windows que se esta ejecutando" (64bits), ...
  #1 (permalink)  
Antiguo 24/10/2014, 19:49
 
Fecha de Ingreso: septiembre-2014
Mensajes: 66
Antigüedad: 9 años, 7 meses
Puntos: 1
Problema al compilar en la consola.

Puedo compilar archivos .cpp, pero cuando quiero abrir el ejecutable me dice que"No es compatible con la version de windows que se esta ejecutando" (64bits), que esta hecho para ejecutarse en 32 bits, que esta mal?

Si uso dev-cpp puedo ejecutar perfecto, pero si lo hago de la consola no, y en PATH tengo este directorio "C:/Dev-Cpp",
instale y desinstale varias veces cygwin y mingw porque no funcionaban muy bien, o porque no tenia el make, o por problemas que no podia resolver. ¿Pudo haber quedado algunos archivos residuales que me den problemas?

Última edición por icm9; 24/10/2014 a las 19:57
  #2 (permalink)  
Antiguo 25/10/2014, 03:11
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 6 meses
Puntos: 38
Respuesta: Problema al compilar en la consola.

¿Que versión del dev c++ estas usando?
¿Sistema operativo?
¿32 o 64 bits?
¿Has solucionado lo de g++ -v ?

si nos puedes decir la carpeta donde esta mingw, y la carpeta donde se encuentra el archivo.cpp.

Creo que la versión de dev Cpp que usas puede ser la antigua. has bajado la versión de orwell o estas usando la 4.9.2?

Si usas la 4.9 recomiendo que bajes la de orwell que es la única que se sigue actualizando.

Entre aquí: http://orwelldevcpp.blogspot.com.es/
Baje la primera opción que pone:
The setup which includes TDM-GCC 4.8.1 (32bit and 64bit) can be downloaded here (47MB).

Después de instalado y certificado que todo funciona con el comando g++ -v.
Para compilar prueba esto: g++.exe archivo.cpp -o archivo.exe -m32. Con el -m32 dices que compile para x32 y con -m64 compilas para x64. Es que se trata de una version de mingw que posue ambas versiones (32/64) pero debes indicar tu con los flags -m32/-m64.

es mas... si vas a dev cpp veras la linea de comandos completa la que usa para crear el .exe. Para compilar algo que esta en esta ruta: c:\proyecto y el archivo se llama hola.cpp me mostra en la consola eso:
Processing C++ source file...
--------
- C++ Compiler: C:\Dev-Cpp\MinGW64\bin\g++.exe
- Command: g++.exe "C:\proyecto\hola.cpp" -o "C:\proyecto\hola.exe" -m32 -I"C:\Dev-Cpp\MinGW64\include" -I"C:\Dev-Cpp\MinGW64\x86_64-w64-mingw32\include" -I"C:\Dev-Cpp\MinGW64\lib\gcc\x86_64-w64-mingw32\4.8.1\include" -I"C:\Dev-Cpp\MinGW64\lib\gcc\x86_64-w64-mingw32\4.8.1\include\c++" -L"C:\Dev-Cpp\MinGW64\lib32" -L"C:\Dev-Cpp\MinGW64\x86_64-w64-mingw32\lib32" -static-libgcc -m32

Compilation results...
--------
- Errors: 0
- Warnings: 0
- Output Filename: C:\proyecto\hola.exe
- Output Size: 1,25799560546875 MiB
- Compilation Time: 1,92s

Si te fias el comando exacto para imprimir es ese: g++.exe "C:\proyecto\hola.cpp" -o "C:\proyecto\hola.exe" -m32 -I"C:\Dev-Cpp\MinGW64\include" -I"C:\Dev-Cpp\MinGW64\x86_64-w64-mingw32\include" -I"C:\Dev-Cpp\MinGW64\lib\gcc\x86_64-w64-mingw32\4.8.1\include" -I"C:\Dev-Cpp\MinGW64\lib\gcc\x86_64-w64-mingw32\4.8.1\include\c++" -L"C:\Dev-Cpp\MinGW64\lib32" -L"C:\Dev-Cpp\MinGW64\x86_64-w64-mingw32\lib32" -static-libgcc -m32

Pero eso se trata de un comando avanzado creado por dev c++ y no creo que debas poner mas que:
g++.exe "C:\proyecto\hola.cpp" -o "C:\proyecto\hola.exe" -m32
o
g++.exe "C:\proyecto\hola.cpp" -o "C:\proyecto\hola.exe" -m64 si es para x64
Espero haber servido

Edit: el código compilado ha sido un simple hola:
Código C++:
Ver original
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main(){
  5.  
  6.     cout << "Hola" << endl;
  7.  
  8.     return 0;
  9. }
  #3 (permalink)  
Antiguo 25/10/2014, 12:57
 
Fecha de Ingreso: septiembre-2014
Mensajes: 66
Antigüedad: 9 años, 7 meses
Puntos: 1
Respuesta: Problema al compilar en la consola.

Cita:
Iniciado por vangodp Ver Mensaje
¿Que versión del dev c++ estas usando?
¿Sistema operativo?
¿32 o 64 bits?
¿Has solucionado lo de g++ -v ?

si nos puedes decir la carpeta donde esta mingw, y la carpeta donde se encuentra el archivo.cpp.

Creo que la versión de dev Cpp que usas puede ser la antigua. has bajado la versión de orwell o estas usando la 4.9.2?

Si usas la 4.9 recomiendo que bajes la de orwell que es la única que se sigue actualizando.

Entre aquí: http://orwelldevcpp.blogspot.com.es/
Baje la primera opción que pone:
The setup which includes TDM-GCC 4.8.1 (32bit and 64bit) can be downloaded here (47MB).

Después de instalado y certificado que todo funciona con el comando g++ -v.
Para compilar prueba esto: g++.exe archivo.cpp -o archivo.exe -m32. Con el -m32 dices que compile para x32 y con -m64 compilas para x64. Es que se trata de una version de mingw que posue ambas versiones (32/64) pero debes indicar tu con los flags -m32/-m64.

es mas... si vas a dev cpp veras la linea de comandos completa la que usa para crear el .exe. Para compilar algo que esta en esta ruta: c:\proyecto y el archivo se llama hola.cpp me mostra en la consola eso:
Processing C++ source file...
--------
- C++ Compiler: C:\Dev-Cpp\MinGW64\bin\g++.exe
- Command: g++.exe "C:\proyecto\hola.cpp" -o "C:\proyecto\hola.exe" -m32 -I"C:\Dev-Cpp\MinGW64\include" -I"C:\Dev-Cpp\MinGW64\x86_64-w64-mingw32\include" -I"C:\Dev-Cpp\MinGW64\lib\gcc\x86_64-w64-mingw32\4.8.1\include" -I"C:\Dev-Cpp\MinGW64\lib\gcc\x86_64-w64-mingw32\4.8.1\include\c++" -L"C:\Dev-Cpp\MinGW64\lib32" -L"C:\Dev-Cpp\MinGW64\x86_64-w64-mingw32\lib32" -static-libgcc -m32

Compilation results...
--------
- Errors: 0
- Warnings: 0
- Output Filename: C:\proyecto\hola.exe
- Output Size: 1,25799560546875 MiB
- Compilation Time: 1,92s

Si te fias el comando exacto para imprimir es ese: g++.exe "C:\proyecto\hola.cpp" -o "C:\proyecto\hola.exe" -m32 -I"C:\Dev-Cpp\MinGW64\include" -I"C:\Dev-Cpp\MinGW64\x86_64-w64-mingw32\include" -I"C:\Dev-Cpp\MinGW64\lib\gcc\x86_64-w64-mingw32\4.8.1\include" -I"C:\Dev-Cpp\MinGW64\lib\gcc\x86_64-w64-mingw32\4.8.1\include\c++" -L"C:\Dev-Cpp\MinGW64\lib32" -L"C:\Dev-Cpp\MinGW64\x86_64-w64-mingw32\lib32" -static-libgcc -m32

Pero eso se trata de un comando avanzado creado por dev c++ y no creo que debas poner mas que:
g++.exe "C:\proyecto\hola.cpp" -o "C:\proyecto\hola.exe" -m32
o
g++.exe "C:\proyecto\hola.cpp" -o "C:\proyecto\hola.exe" -m64 si es para x64
Espero haber servido

Edit: el código compilado ha sido un simple hola:
Código C++:
Ver original
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main(){
  5.  
  6.     cout << "Hola" << endl;
  7.  
  8.     return 0;
  9. }
Windows 64 bits, si, pude compilar con cpp en vez de gcc.
Habia desinstalado MinGW y Cygwin, porque netbeans no encontraba el archivo make.exe (lo descargue junto con el compilador y el debugger desde el package installer)

Desinstale mi version de Dev-Cpp que era una beta de 4.9.2 o por ahi, instale la que me pasaste, y como antes me permite compilar y ejecutar desde DevCppagregue el directorio de MinGW64/bin, pero sigue compilando un ejecutable para 32bits, en el dev-cpp anterior vi que la carpeta MinGW era MinGW32, pero no entiendo porque devcpp hace ejecutables que funcionan y yo desde la consola los hago solo para 32, uso -m64 y me dice en la consola unimplemented 64 bit mode not compiled in

Última edición por icm9; 25/10/2014 a las 13:07

Etiquetas: compilar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:32.