undefined ссылка на `std :: ios_base :: Init :: Init () ‘

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

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

Затем … C [ler] присваивается B [ler / 2] [2].

Эти координаты для каждой строки в B [ler / 2] [2] назначаются а и 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 

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

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

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

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

Я добавил libstdc ++. 6.dylib в моем Project-> Targets-> Build Phases-> Link Binary с библиотеками.

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

Ура!