main.cpp
Código C++:
Ver original
#include "Core.h" int main ( int argc, char* argv[] ){ Core::singleton().Init( &argc, argv ); Core::singleton().Run(); Core::singleton().DeInit(); }
Core.h
Código C++:
Ver original
#ifndef __Core__ #define __Core__ class Core { private: static Core instance; Core(); ~Core(); public: static Core& singleton(); public: void Init(int* argc, char* argv[]); void Run(); void DeInit(); private: }; #endif
Core.cpp
Código C++:
Ver original
#include "Core.h" #include <iostream> using namespace std; Core Core::instance; Core::Core(){} Core::~Core(){} Core& Core::singleton(){ return instance; } void Core::Init ( int* argc, char* argv[] ){ cout << "Inicializamos el Core\n"; } void Core::Run(){ int i = 0; for( i = 0 ; i < 1000000; ++i ){ if( !( i % 10000 ) ){ cout << "Ejecutamos el paso de core numero: " << ( i / 10000 ) << "\n"; } } } void Core::DeInit(){ cout << "Desinicializamos el Core\n"; }
y este es el error que me da al compilar.
Cita:
Para compilar uso la ultima version de mingw g++ en windows, no uso IDE y los tres archivos estan en la misma carpeta. Para codigos simples de un solo archivo si compila correctamente. Por lo que he leido es posible que el problema tenga algo que ver con los enlaces pero ni idea de como solucionarlo. C:\Users\Kira\Desktop\pr>g++ main.cpp
C:\Users\Kira\AppData\Local\Temp\ccoYCN4x.o:main.c pp:(.text+0x1a): undefined reference to `Core::singleton()'
C:\Users\Kira\AppData\Local\Temp\ccoYCN4x.o:main.c pp:(.text+0x2b): undefined reference to `Core::Init(int*, char**)'
C:\Users\Kira\AppData\Local\Temp\ccoYCN4x.o:main.c pp:(.text+0x33): undefined reference to `Core::singleton()'
C:\Users\Kira\AppData\Local\Temp\ccoYCN4x.o:main.c pp:(.text+0x3a): undefined reference to `Core::Run()'
C:\Users\Kira\AppData\Local\Temp\ccoYCN4x.o:main.c pp:(.text+0x3f): undefined reference to `Core::singleton()'
C:\Users\Kira\AppData\Local\Temp\ccoYCN4x.o:main.c pp:(.text+0x46): undefined reference to `Core::DeInit()'
c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: C:\Users\Kira\AppData\Local\Temp\ccoYCN4x.o: bad reloc address 0x20 in section `.eh_frame'
c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: final link failed: Invalid operation
collect2.exe: error: ld returned 1 exit status
C:\Users\Kira\AppData\Local\Temp\ccoYCN4x.o:main.c pp:(.text+0x1a): undefined reference to `Core::singleton()'
C:\Users\Kira\AppData\Local\Temp\ccoYCN4x.o:main.c pp:(.text+0x2b): undefined reference to `Core::Init(int*, char**)'
C:\Users\Kira\AppData\Local\Temp\ccoYCN4x.o:main.c pp:(.text+0x33): undefined reference to `Core::singleton()'
C:\Users\Kira\AppData\Local\Temp\ccoYCN4x.o:main.c pp:(.text+0x3a): undefined reference to `Core::Run()'
C:\Users\Kira\AppData\Local\Temp\ccoYCN4x.o:main.c pp:(.text+0x3f): undefined reference to `Core::singleton()'
C:\Users\Kira\AppData\Local\Temp\ccoYCN4x.o:main.c pp:(.text+0x46): undefined reference to `Core::DeInit()'
c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: C:\Users\Kira\AppData\Local\Temp\ccoYCN4x.o: bad reloc address 0x20 in section `.eh_frame'
c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: final link failed: Invalid operation
collect2.exe: error: ld returned 1 exit status