Tôi viết mã này để đọc 3 tệp, TM là kích thước của ma trận vuông, LER số hàng của mảng và từ giá trị cuối cùng xác định ma trận không vuông (ler/2) * 2undefined tham chiếu đến `std :: ios_base :: Init :: Init() '
Sau đó ... mã đọc tệp có một số quan hệ, tất cả đều là số và được gán cho C [ler].
Sau đó ... C [ler] được gán cho B [ler/2] [2].
Tọa độ, mỗi hàng, trong B [ler/2] [2] được gán cho a và b.
a và b là các hàng và cột của ma trận A [tm] [tm] nơi để thêm 1.
treo Mã của tôi và tôi không thấy gì lỗi là.
Khi tôi cố gắng biên dịch nó, trình biên dịch gcc -g -o MatSim MatSim.cpp nhắc:
/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
Ngoài ra, khi tôi cố gắng để biên dịch nó, trình biên dịch f77 -o MatSim MatSim cpp nhắc:
/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
giải pháp
Vấn đề chính là sự cố thư viện, Biên dịch mã của bạn bằng cách sử dụng:
g++ -g -o MatSim MatSim.cpp -lstdc
Vẫn không hoạt động? Cài đặt thư viện:
sudo apt-get install g++-multilib
Trình biên dịch có đưa ra lỗi không? Bạn có chắc chắn rằng bạn là chính xác khi nói "trình biên dịch đã cho một trạng thái thoát 1" và không phải là chương trình đã cho một trạng thái thoát của 1? – Celeritas
Celeritas, vâng, đây là những gì tôi nhận được ngay sau khi tôi thực hiện bất kỳ trình biên dịch nào [gcc o f77] –
có thể trùng lặp của [Không thể tìm thấy thư viện C++ trên unix] (http: // stackoverflow.com/questions/10867164/cant-find-c-library-on-unix) –