Подтвердить что ты не робот

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
4b9b3361

Ответ 1

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

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

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

Ответ 2

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

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

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

Ура!