неопределенная ссылка на ' std:: ios base:: Init:: Init()'


Я пишу этот код для чтения 3 файлов, TM-размер квадратной матрицы, LER-нет. строк массива и из последнего значения определяют неквадратичную матрицу (ler/2)*2

Тогда... код считывается файлом с некоторыми отношениями, все они являются числами и присваиваются C[ler].

Тогда ... C [ler] присваивается B[ler/2] [2].

Эти координаты, в каждой строке, в B[ler/2] [2] присваиваются a и b.

A и b-это строка и столбец матрицы A[tm] [tm], куда нужно добавить 1.

Мой код выходит из строя, и я не вижу, в чем ошибка.

Когда я пытаюсь его скомпилировать, компилятор gcc-g-o MatSim MatSim.cpp подсказал:

/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

Также, когда я пытаюсь его скомпилировать, компилятор 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

Решение

Основной проблемой была проблема библиотеки, скомпилировать код с помощью:

 g++ -g -o MatSim MatSim.cpp -lstdc

Все еще не работает? Установить библиотеки:

sudo apt-get install g++-multilib
2 49

2 ответа:

Вы можете решить эту проблему несколькими способами:

  • используйте g++ вместо gcc: g++ -g -o MatSim MatSim.cpp
  • Добавить -lstdc++: gcc -g -o MatSim MatSim.cpp -lstdc++
  • заменить <string.h> на <string>

Это проблема компоновщика,а не компилятора. Та же проблема рассматривается в вопросеошибка компоновщика iostream - он объясняет, что происходит.

Большинство этих ошибок компоновщика возникают из-за отсутствия библиотек.

Я добавил libstdc++.6.dylib в моем проекте - > цели - > этапы сборки - > связать двоичный файл с библиотеками.

Это решило его для меня на Xcode 6.3.2 для iOS 8.3

Ура!