Escribo este código para leer 3 archivos, TM es el tamaño de la matriz cuadrada, LER el número de filas de una matriz y del último valor define una matriz no cuadrada de (ler/2) * 2referencia indefinida a `std :: ios_base :: Init :: Init() '
Luego ... el código lee un archivo con algunas relaciones, todos son números y se asignan a C [ler].
Entonces ... C [ler] está asignado a B [ler/2] [2].
Esas coordenadas, por fila, en B [ler/2] [2] se asignan a ay b.
a y b son la fila y la columna de la matriz A [tm] [tm] dónde agregar 1.
mi código se bloquea y no veo cuál es el error.
Cuando intento compilar, el compilador gcc -g -o MatSim MatSim.cpp se le solicite:
/usr/include/c++/4.6/iostream:75: undefined reference to `std::ios_base::Init::Init()'
/usr/include/c++/4.6/iostream:75: undefined reference to `std::ios_base::Init::~Init()'
collect2: ld returned 1 exit status
Además, cuando intento compilar, el compilador f77 -o MatSim MatSim .cpp incitó:
/tmp/cc6ewlkf.o: In function `__static_initialization_and_destruction_0(int, int)':
MatSim.cpp:(.text+0x17ad4a): undefined reference to `std::ios_base::Init::Init()'
MatSim.cpp:(.text+0x17ad4f): undefined reference to `std::ios_base::Init::~Init()'
collect2: ld returned 1 exit status
Solución
El principal problema era un problema de biblioteca. Compila tu código usando:
g++ -g -o MatSim MatSim.cpp -lstdc
¿Todavía no estás trabajando? Instalar bibliotecas:
sudo apt-get install g++-multilib
¿El compilador da un error? ¿Estás seguro de que estás en lo correcto al decir "el compilador dio un estado de salida de 1" y que el programa no dio un estado de salida de 1? – Celeritas
Celeritas, sí, esto es lo que recibo justo después de ejecutar cualquiera de los compiladores [gcc o f77] –
posible duplicación de [No se pueden encontrar bibliotecas de C++ en Unix] (http: // stackoverflow.com/questions/10867164/cant-find-c-libraries-on-unix) –