Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: engel lex en 1 Septiembre 2010, 07:31 am



Título: será error del compilador?
Publicado por: engel lex en 1 Septiembre 2010, 07:31 am
buenas, estoy haciendo un programita en c++ para que me haga lineas "al aire"

el asunto es que este es mi código

Código:
#include <windows.h>
#include <WinGdi.h>

int main(){
HDC hDC;
hDC = CreateDC("DISPLAY", NULL, NULL, NULL);
if (hDC) {
    TextOut(hDC, 0, 0, "Hello world!", 12);
    DeleteDC(hDC);
}
}

el compilador simplemente dice "souce file not compiled" no me da ningún error, de hecho devuelve el "done" típico que no hay problemas

he intentado en vez de CreateDC usar GetDC(0) (para tomar el escritorio)

los metodos de getdc y create dc no compilan... el resto de los programas que he hecho si...
estoy usando Dev-C++ 4.9.9.2

no entiendo a que se debe este error


Título: Re: será error del compilador?
Publicado por: [L]ord [R]NA en 1 Septiembre 2010, 14:31 pm
Algunas veces me solia pasar... trata de reiniciar Dev-C++ asi se me solucionaba.


Título: Re: será error del compilador?
Publicado por: clodan en 1 Septiembre 2010, 15:17 pm
buenas, estoy haciendo un programita en c++ para que me haga lineas "al aire"

el asunto es que este es mi código

Código:
#include <windows.h>
#include <WinGdi.h>

int main(){
HDC hDC;
hDC = CreateDC("DISPLAY", NULL, NULL, NULL);
if (hDC) {
    TextOut(hDC, 0, 0, "Hello world!", 12);
    DeleteDC(hDC);
}
}

el compilador simplemente dice "souce file not compiled" no me da ningún error, de hecho devuelve el "done" típico que no hay problemas

he intentado en vez de CreateDC usar GetDC(0) (para tomar el escritorio)

los metodos de getdc y create dc no compilan... el resto de los programas que he hecho si...
estoy usando Dev-C++ 4.9.9.2

no entiendo a que se debe este error

el nombre del programa... serciorate de que este sin signos raros ni cosas asi...

a mi me paso y es porqe habia puesto º... en el titulo... entonces cuando se ejecuta, se guarda de diferente manera el signo ese y no se entienden... jejej salu2!


Título: Re: será error del compilador?
Publicado por: engel lex en 1 Septiembre 2010, 20:15 pm
sigue con el problema :s desinstalé el dev a 0 que borrara configuraciones y todo, reinstalo, configuro lo del linker,  pego el codigo y lo guardo con nombre "otro.cpp" y me da el mismo error


Título: Re: será error del compilador?
Publicado por: Littlehorse en 1 Septiembre 2010, 23:19 pm
Podría ser por varios motivos, difícil de saber si ni siquiera la reinstalación ha solucionado el problema.

Lo que te recomendaría es que pruebes un entorno de trabajo mas estable como Code::Blocks.


Título: Re: será error del compilador?
Publicado por: engel lex en 2 Septiembre 2010, 03:38 am
bajando Code::Blocks a ver que tal :P

no influirá el SO? tengo W7 no anti-vir, corrido con derechos de administrador :s

todos los otros programas los compila y corre perfecto... no será algo del codigo?

--actualizacion--

en Code::Blocks le coloqué en las opciones del linker Ole32.lib ya que es necesario... si no lo coloco me dá los miles de errores del linker... el asunto es que me devuelve un
Código:
mingw32-g++.exe: Ole32.lib: No such file or directory
cosa que a mi parecer no debería suceder, pero aun así intenta compilar, no me dá los errores del linker y me dice
Código:
Process terminated with status 1 (0 minutes, 0 seconds)
0 errors, 0 warnings
y me ofrece volver a compilar ya que intenta correrlo y no está compilado


Título: Re: será error del compilador?
Publicado por: rob1104 en 2 Septiembre 2010, 08:03 am
La libreria a la que tienes que enlazar es gdi32.a, que se encuentra en el directorio lib de tu instalación del MinGW.

Yo lo hago a traves de Settings/Compiler and debugger:
(http://r.i.elhacker.net/cache?url=http://rob1104.net/temp/13.jpg)

Saludos

PD: Hice unas correcciones, no son necesarias para que compile pero es como debe quedar.



Título: Re: será error del compilador?
Publicado por: engel lex en 4 Septiembre 2010, 16:52 pm
2 cosillas... :s

1-. me dá error en la linea 10 (copiando exactamente el codigo)
un error raro expected ")" before string constant (me perece raro porque tengo todos mis paréntesis completos

el otro error en la 10 es invalid conversion from 'int' to 'const CHAR*' npi sobre cual int deberia ser char -.-

2-. me da curiosidad esa sintaxis diferente en vez de main... es primera vez que la veo (soy medio pollo en c) ya la googlearé para ver que rayos es, pero eso estaba afectado que no me compilara/coriera?


Título: Re: será error del compilador?
Publicado por: Littlehorse en 4 Septiembre 2010, 17:57 pm
Citar
1-. me dá error en la linea 10 (copiando exactamente el codigo)
un error raro expected ")" before string constant (me perece raro porque tengo todos mis paréntesis completos

Raro, porque el código expuesto es correcto. Proba de crear el projecto y el source nuevamente, para ir descartando posibilidades.

Citar
2-. me da curiosidad esa sintaxis diferente en vez de main... es primera vez que la veo (soy medio pollo en c) ya la googlearé para ver que rayos es,


No hace falta googlear mucho, puedes revisar las chinchetas:

Principios básicos de programación Windows (http://foro.elhacker.net/programacion_cc/principios_basicos_de_programacion_windows_lenguaje_c-t299760.0.html)

Citar
pero eso estaba afectado que no me compilara/coriera?

No.
En cuanto a la librería, te faltaba enlazar la librería correcta como bien menciono rob1104, pero igualmente esa tampoco era la causa del error original, porque dada esa situación lo normal es que el linker te avise sobre las referencias indefinidas.

Lo ideal es que la directiva para el linker la pases desde Project/Build options/Linker settings, de lo contrario estas utilizando directivas globales que afectaran a todos tus proyectos.

Saludos!



Título: Re: será error del compilador?
Publicado por: engel lex en 4 Septiembre 2010, 21:41 pm
cool!!! hacerlo de nuevo, con otro nombre y otra carpeta si me corrió bien esta vez (quien sabe por que) pero ya tengo un problema menos del que preocuparme en mi vida :P! tnx u a todos ellos que me ayudaron :P ahora tengo que aprender los metodos  de lapiz, brocha y todo eso para ser feliz :P


Título: Re: será error del compilador?
Publicado por: clodan en 6 Septiembre 2010, 00:47 am
cool!!! hacerlo de nuevo, con otro nombre y otra carpeta si me corrió bien esta vez (quien sabe por que) pero ya tengo un problema menos del que preocuparme en mi vida :P! tnx u a todos ellos que me ayudaron :P ahora tengo que aprender los metodos  de lapiz, brocha y todo eso para ser feliz :P

fue lo primero y lo unico qe te dije qe hagas... fijate:

buenas, estoy haciendo un programita en c++ para que me haga lineas "al aire"

el asunto es que este es mi código

Código:
#include <windows.h>
#include <WinGdi.h>

int main(){
HDC hDC;
hDC = CreateDC("DISPLAY", NULL, NULL, NULL);
if (hDC) {
    TextOut(hDC, 0, 0, "Hello world!", 12);
    DeleteDC(hDC);
}
}

el compilador simplemente dice "souce file not compiled" no me da ningún error, de hecho devuelve el "done" típico que no hay problemas

he intentado en vez de CreateDC usar GetDC(0) (para tomar el escritorio)

los metodos de getdc y create dc no compilan... el resto de los programas que he hecho si...
estoy usando Dev-C++ 4.9.9.2

no entiendo a que se debe este error

el nombre del programa... serciorate de que este sin signos raros ni cosas asi...

a mi me paso y es porqe habia puesto º... en el titulo... entonces cuando se ejecuta, se guarda de diferente manera el signo ese y no se entienden... jejej salu2!

El programa cuando lo complilas, si hay acentos, Ñ o algun tipo de caracter extraño queda guardado con otro nombre y tira el error de qe no existe el archivo de base.


Título: Re: será error del compilador?
Publicado por: engel lex en 6 Septiembre 2010, 21:42 pm
D: no había ningún carácter especial... se llamaba "otrocg.cpp" pero este compilador como que es necio y hasta que no lo guardé en su formato nativo "otrogc.c" no hizo nada por eso no tome esa accion desde el principio...

pero igual gracias :P eso me ayudó en gran parte... ahora me prepregunto... por que el dev no me lo correrá -.-??


Título: Re: será error del compilador?
Publicado por: clodan en 7 Septiembre 2010, 14:39 pm
ahhh!! osea lo guardaste en .cpp ¬¬ osea

si estas programando en C, tenes qe guardar si o si en .c

si estas programando en C++, tenes qe guardar si o si en .cpp

jajajja ahora entendi  :P :P


Título: Re: será error del compilador?
Publicado por: engel lex en 7 Septiembre 2010, 20:03 pm
es la extension por defecto del dev XD


Título: Re: será error del compilador?
Publicado por: clodan en 8 Septiembre 2010, 14:47 pm
es la extension por defecto del dev XD

:| .c es para C
    .cpp o en ingles C PLUS PLUS o C++ es para C++

Es cuestion de respetar las terminaciones :P