Ver Mensaje Individual
  #6 (permalink)  
Antiguo 22/03/2016, 10:31
eferion
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 9 años, 7 meses
Puntos: 204
Respuesta: Problema con CodeBlocks C++

Cita:
Iniciado por alanjo Ver Mensaje
sigo incluyendo a "funpromedio.cpp" debido a que si no lo incluyo, ¿De dónde sacaré la función para resolver el problema?
Generar un programa a partir de código fuente, en C++, es un proceso que se genera en dos pasos.

En primer lugar actúa el compilador. Este programita coge tus ficheros de código uno a uno y genera lo que se denomina código objeto. El código objeto es una suerte de código compilado a medias ya que aun falta información, como el tamaño de los saltos. El compilador lo más que necesita es la declaración de funciones y tipos para poder preparar correctamente el código.

Una vez que el compilador ha hecho su trabajo pasa a actuar el linker. Este otro programita coge todos los ficheros de código objeto y los une en un ejecutable o librería. Como en este proceso ya se tiene toda la información se pueden calcular correctamente el valor de los saltos y otros ajustes finales.

Como ves, el compilador procesa unidades individuales de código y es tarea del linker coser dichas unidades para formar un código ejecutable.

Por cierto, normalmente compilador y linker vienen juntos en un único ejecutable. Se elige una u otra opción por línea de comandos.

Dicho con código. Para compilar tu programa se podrían lanzar las siguientes instrucciones
Código BASH:
Ver original
  1. gcc -c funpromedio.cpp
  2. gcc -c main.cpp

Como ves cada fichero de código se compila por separado.

Una vez compilado todo el código se pasa el linker

Código BASH:
Ver original
  1. gcc -o programa.exe main.o funpromedio.o

Y fíjate que ahora sí se van a procesar los dos ficheros.

Moraleja: No necesitas incluir funpromedio.cpp en main.cpp. En el proceso de linkado se fusionarán el código de ambos ficheros y el programa funcionará correctamente.

Un saludo.
__________________
La ayuda se paga con esfuerzo o con dinero. Si no estás dispuesto a esforzarte y quieres que te hagan los deberes pide presupuesto, al menos así ahorrarás tiempo.