que - referencia indefinida a `std:: ios_base:: Init:: Init() ''
segmentation fault(core dumped) python (2)
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) * 2
Entonces ... 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.
ayb son la fila y la columna de la matriz A [tm] [tm] donde sumar 1.
Mi código falla y no veo cuál es el error.
Cuando intento compilarlo, el compilador gcc -g -o MatSim MatSim.cpp solicita:
/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 compilarlo, me pide el compilador f77 -o MatSim MatSim.cpp :
/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 problema principal era un problema de biblioteca. Compila tu código usando:
g++ -g -o MatSim MatSim.cpp -lstdc
¿Sigue sin funcionar? Instalar bibliotecas:
sudo apt-get install g++-multilib
La mayoría de estos errores de vinculador se producen debido a la falta de bibliotecas.
Agregué libstdc ++. 6.dylib en mi Proyecto-> Objetivos-> Fases de compilación-> Enlace binario con bibliotecas.
Eso me lo resolvió en Xcode 6.3.2 para iOS 8.3
¡Aclamaciones!
Puedes resolver esto de varias maneras:
- Use
g++
en lugar degcc
:g++ -g -o MatSim MatSim.cpp
- Agregar
-lstdc++
:gcc -g -o MatSim MatSim.cpp -lstdc++
- Reemplazar
<string.h>
por<string>
Este es un problema del enlazador, no un problema del compilador. El mismo problema se trata en el error de iostream linker pregunta: explica lo que está sucediendo.