• Sábado 9 de Noviembre de 2024, 02:25

Autor Tema:  Añadir archivo.cpp  (Leído 2600 veces)

tousan

  • Nuevo Miembro
  • *
  • Mensajes: 10
    • Ver Perfil
Añadir archivo.cpp
« en: Viernes 1 de Mayo de 2009, 21:38 »
0
En mi programa uso el "main.cpp" donde tengo todo el codigo.
Sin embargo quiero tener todo mas ordenado y e creado un nuevo archivo "codigo.cpp" en donde utilizo unas funciones.

Quiero usar esas funciones de "codigo.cpp" y llamarlas desde "main.cpp" pero no sé como acerlo. He puesto:
#include "codigo.cpp"
y reconoce el archivo .cpp pero me da error.

Por ej. en codigo.cpp eh puesto esta función:
Código: C++
  1. void funcion_en_codigo_cpp ()
  2. {
  3.     int a
  4.     //esto es un ejemplo
  5. }
  6.  

y desde main.cpp la llamo y al compilar me sale un error.

¿Cómo se ace?¿que hago mal?gracias

jorgelaprida

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Re: Añadir archivo.cpp
« Respuesta #1 en: Viernes 1 de Mayo de 2009, 22:30 »
0
Hola.

En primer lugar seŕa bueno que incluyeras el mensaje de error, que compilador usas y como compilas. Caso contrario no podemos saber que pasa.  :comp:

Suponiendo que que tu código es correcto, es decir que no redeclares variables u otros errores de ese tipo, es posible hacerlo de la manera que describes ( por medio de #include ). Por lo que es probable que tu codigo no sea del todo correcto.
Igualmente, a menos que utilices templates no es lo habitual. Por lo general se incluyen los .h (.hpp, hh, o como sea que tu compilador los reconozca.).

Se le suele indicar al compilador que  archivos .cpp tiene que compilar y enlazar (aunque el compilador no enlace, dejemosló así para empezar).

Si compilas desde un terminal, como en linux con g++ (gcc) u otro similar, tienes que incluir todos los archivos así:

Código: Text
  1. g++ main.cpp archivo.cpp -o nombredelejecutable
  2.  

o usar un makefile ( pero no creo que eso busques ).

Si estás con un IDE, debes indicarle que archivos son integrantes del proyecto, o algo parecido dependiendo de que entorno uses.

Saludos.

Leo_Gutierrez

  • Visitante
Re: Añadir archivo.cpp
« Respuesta #2 en: Viernes 1 de Mayo de 2009, 22:33 »
0
Aqui hay un error, en codigo.cpp:
Código: C
  1. int a
  2.  
te falta el caracter ';' al terminar.

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Añadir archivo.cpp
« Respuesta #3 en: Sábado 2 de Mayo de 2009, 01:40 »
0
Cita de: "tousan"
y desde main.cpp la llamo y al compilar me sale un error.

¿Cómo se ace?¿que hago mal?gracias
Estaría bien que nos especificaras qué error te sale. Además, jamás hace falta incluír un .cpp. Lo que se incluyen son cabeceras (.h).

tousan

  • Nuevo Miembro
  • *
  • Mensajes: 10
    • Ver Perfil
Re: Añadir archivo.cpp
« Respuesta #4 en: Sábado 2 de Mayo de 2009, 11:41 »
0
Muchas gracias por vuestra ayuda. Al final de probar y probar lo solucioné. Lo esplico para algún novato como yo. Por cierto, lo he provado tanto en Dev-C++ como en M. Visual C++

Código en "main.cpp":
Código: C++
  1. #include <windows.h>
  2. #include "resource.h"
  3.  
  4. int main()
  5. {
  6. subrutina_en_codigo_cpp();
  7. }
  8.  

Código en "resource.h":
Código: C++
  1. #ifndef RESOURCE_H
  2.     #include <windows.h>
  3.     void subrutina_en_codigo_cpp();
  4. #endif
  5.  

Código en "codigo.cpp":
Código: C++
  1. #include "resource.h"
  2.  
  3. void subrutina_en_codigo_cpp()
  4. {
  5.     MessageBox(NULL, TEXT("Estás en código.cpp"), TEXT("Correcto"), MB_OK | MB_ICONEXCLAMATION);                      
  6. }
  7.  

Funciona perfectamente.
Gracias por vuestra ayuda.

jorgelaprida

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Re: Añadir archivo.cpp
« Respuesta #5 en: Sábado 2 de Mayo de 2009, 13:42 »
0
Hola, me alegro tousan, que hayas podido solucionarlo.

Cita de: "m0skit0"
Además, jamás hace falta incluír un .cpp.

No tengo intención de generar un debate. Pero hay ocasiones en las que  pueden incluirse archivos .cpp para evitar errores de enlazado (link) cuando se usan plantillas (templates). Seguro éste no es el caso, pero no quería que quede como que "jamas" se hace.

Saludos.