Ich schreibe diesen Code, um 3 Dateien zu lesen, TM ist die Größe der quadratischen Matrix, LER die Anzahl der Zeilen eines Arrays und vom letzten Wert Definieren Sie eine nichtquadratische Matrix von (ler/2) * 2undefined Verweis auf `std :: ios_base :: Init :: Init() '
Dann ... liest der Code eine Datei mit einigen Beziehungen, alle sind Zahlen und werden C [ler] zugewiesen.
Dann ... wird C [ler] B [ler/2] [2] zugewiesen.
Diese Koordinaten pro Zeile in B [ler/2] [2] werden a und b zugewiesen.
a und b die Zeile und die Spalte der Matrix A [tm] [tm], wo 1.
Mein Code stürzt hinzuzufügen und ich sehe nicht, was der Fehler ist.
Wenn ich versuche, es zu kompilieren, die Compiler gcc -g -o MatSim MatSim.cpp aufgefordert:
/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
Auch wenn ich versuche, es zu kompilieren, die Compiler f77 -o MatSim MatSim CPP aufgefordert:
/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
Lösung
Das Hauptproblem war ein Bibliotheksproblem, kompilieren Sie Ihren Code mit:
g++ -g -o MatSim MatSim.cpp -lstdc
Immer noch nicht funktioniert? Installieren Bibliotheken:
sudo apt-get install g++-multilib
Gibt der Compiler einen Fehler? Sind Sie sicher, dass Sie richtig sind, wenn Sie sagen, dass "der Compiler den Exit-Status 1 hat" und das Programm nicht den Exit-Status 1 hat? – Celeritas
Celeritas, ja, das ist, was ich bekomme, nachdem ich einen der Compiler ausgeführt habe [gcc o f77] –
möglich duplicate von [Kann C++ Bibliotheken unter Unix nicht finden] (http: // stackoverflow.com/Fragen/10867164/cant-find-c-Bibliotheken-on-Unix) –