Welcome to the Emacs shell~/coders/desarrollo/practicas/Cpp/pensarenc/ejercicios/capitulo3 $ g++ mainfunc.cpp -o mainfunc/tmp/cccD5w76.o: En la función `main':mainfunc.cpp:(.text+0x3a): referencia a `funcion1(int, char, float)' sin definirmainfunc.cpp:(.text+0x55): referencia a `funcion2(int, char, float)' sin definirmainfunc.cpp:(.text+0x70): referencia a `funcion3(int, char, float)' sin definirmainfunc.cpp:(.text+0x8b): referencia a `funcion4(int, char, float)' sin definircollect2: error: ld devolvió el estado de salida 1~/coders/desarrollo/practicas/Cpp/pensarenc/ejercicios/capitulo3 $
#ifndef GRUPOFUNC_H#define GRUPOFUNC_Hvoid funcion1(int a, char b, float c);int funcion2(int a, char b, float c);char funcion3(int a, char b, float c);float funcion4(int a, char b, float c);#endif
#include "grupofunc.h"#include <iostream>void funcion1(int a, char b, float c){ cout << "nombre de la funcion: funcion1" << endl; cout << "primer argumento: " << a << endl; cout << "segundo argumento: " << b << endl; cout << "tercer argumento: " << c << endl; return;}
#include "grupofunc.h"int main(int argc, char *argv[]){ int a = 10; char b = 'x'; float c = 0.1337; funcion1(a, b, c); funcion2(a, b, c); funcion3(a, b, c); funcion4(a, b, c); return 0;}
g++ mainfunc.cpp grupofunc.cpp -o mainfunc
Pareces tener dos fuentes pero sólo estás compilando uno. Prueba: Citarg++ mainfunc.cpp grupofunc.cpp -o mainfunc
~/coders/desarrollo/practicas/Cpp/pensarenc/ejercicios/capitulo3 $ g++ mainfunc.cpp grupofunc.cpp -o mainfuncgrupofunc.cpp: En la función ‘void funcion1(int, char, float)’:grupofunc.cpp:6:3: error: ‘cout’ no se declaró en este ámbito cout << "nombre de la funcion: funcion1" << endl; ^grupofunc.cpp:6:3: nota: alternativa sugerida:In file included from grupofunc.cpp:2:0:/usr/include/c++/4.8.1/iostream:61:18: nota: ‘std::cout’ extern ostream cout; /// Linked to standard output ^grupofunc.cpp:6:47: error: ‘endl’ no se declaró en este ámbito cout << "nombre de la funcion: funcion1" << endl; ^grupofunc.cpp:6:47: nota: alternativa sugerida:In file included from /usr/include/c++/4.8.1/iostream:39:0, from grupofunc.cpp:2:/usr/include/c++/4.8.1/ostream:564:5: nota: ‘std::endl’ endl(basic_ostream<_CharT, _Traits>& __os) ^grupofunc.cpp: En la función ‘int funcion2(int, char, float)’:grupofunc.cpp:15:3: error: ‘cout’ no se declaró en este ámbito cout << "nombre de la funcion: funcion2" << endl; ^grupofunc.cpp:15:3: nota: alternativa sugerida:In file included from grupofunc.cpp:2:0:/usr/include/c++/4.8.1/iostream:61:18: nota: ‘std::cout’ extern ostream cout; /// Linked to standard output ^grupofunc.cpp:15:47: error: ‘endl’ no se declaró en este ámbito cout << "nombre de la funcion: funcion2" << endl; ^grupofunc.cpp:15:47: nota: alternativa sugerida:In file included from /usr/include/c++/4.8.1/iostream:39:0, from grupofunc.cpp:2:/usr/include/c++/4.8.1/ostream:564:5: nota: ‘std::endl’ endl(basic_ostream<_CharT, _Traits>& __os) ^grupofunc.cpp: En la función ‘char funcion3(int, char, float)’:grupofunc.cpp:24:3: error: ‘cout’ no se declaró en este ámbito cout << "nombre de la funcion: funcion3" << endl; ^grupofunc.cpp:24:3: nota: alternativa sugerida:In file included from grupofunc.cpp:2:0:/usr/include/c++/4.8.1/iostream:61:18: nota: ‘std::cout’ extern ostream cout; /// Linked to standard output ^grupofunc.cpp:24:47: error: ‘endl’ no se declaró en este ámbito cout << "nombre de la funcion: funcion3" << endl; ^grupofunc.cpp:24:47: nota: alternativa sugerida:In file included from /usr/include/c++/4.8.1/iostream:39:0, from grupofunc.cpp:2:/usr/include/c++/4.8.1/ostream:564:5: nota: ‘std::endl’ endl(basic_ostream<_CharT, _Traits>& __os) ^grupofunc.cpp: En la función ‘float funcion4(int, char, float)’:grupofunc.cpp:33:3: error: ‘cout’ no se declaró en este ámbito cout << "nombre de la funcion: funcion4" << endl; ^grupofunc.cpp:33:3: nota: alternativa sugerida:In file included from grupofunc.cpp:2:0:/usr/include/c++/4.8.1/iostream:61:18: nota: ‘std::cout’ extern ostream cout; /// Linked to standard output ^grupofunc.cpp:33:47: error: ‘endl’ no se declaró en este ámbito cout << "nombre de la funcion: funcion4" << endl; ^grupofunc.cpp:33:47: nota: alternativa sugerida:In file included from /usr/include/c++/4.8.1/iostream:39:0, from grupofunc.cpp:2:/usr/include/c++/4.8.1/ostream:564:5: nota: ‘std::endl’ endl(basic_ostream<_CharT, _Traits>& __os) ^~/coders/desarrollo/practicas/Cpp/pensarenc/ejercicios/capitulo3 $
Welcome to the Emacs shell~/coders/desarrollo/practicas/Cpp/pensarenc/ejercicios/capitulo3 $ g++ mainfunc.cpp grupofunc.cpp -o mainfunc~/coders/desarrollo/practicas/Cpp/pensarenc/ejercicios/capitulo3 $ ./mainfunc nombre de la funcion: funcion1primer argumento: 10segundo argumento: xtercer argumento: 0.1337nombre de la funcion: funcion2primer argumento: 10segundo argumento: xtercer argumento: 0.1337nombre de la funcion: funcion3primer argumento: 10segundo argumento: xtercer argumento: 0.1337nombre de la funcion: funcion4primer argumento: 10segundo argumento: xtercer argumento: 0.1337~/coders/desarrollo/practicas/Cpp/pensarenc/ejercicios/capitulo3 $