Вопрос по c, matrix – неопределенная ссылка на `std :: ios_base :: Init :: Init () '

55

Я пишу этот код для чтения 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

Solution

Основной проблемой была проблема с библиотекой. Скомпилируйте ваш код, используя:

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

До сих пор не работает? Установить библиотеки:

sudo apt-get install g++-multilib
Спасибо Джонатан Леффлер !!!! Вы и Рейнир просветили мой код, и теперь я действительно могу идти вперед !!!! Another.Chemist
Celeritas, да, это то, что я получаю сразу после запуска любого из компиляторов [gcc o f77] Another.Chemist
Компилятор выдает ошибку? Вы действительно правы, когда говорите, что "компилятор дал статус выхода 1"? а не программа выдала статус выхода 1? Celeritas
возможный дубликатCan't find c++ libraries on unix Jonathan Leffler

Ваш Ответ

2   ответа
6

отек.

Я добавилlibstdc++.6.dylib в моем Project-> Targets-> Build Phases- & gt; Связь бинарных с библиотеками.

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

Ура!

Error: User Rate Limit Exceeded
106

Use g++ in stead of gcc: g++ -g -o MatSim MatSim.cpp Add -lstdc++: gcc -g -o MatSim MatSim.cpp -lstdc++ Replace <string.h> by <string>

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

Error: User Rate Limit Exceededg++ -g -o MatSim MatSim.cpp -lstdc /usr/bin/ld: cannot find -lstdc collect2: ld returned 1 exit status Another.Chemist
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded Another.Chemist
Error: User Rate Limit Exceeded-lstdc++Error: User Rate Limit Exceeded-lstdcError: User Rate Limit Exceeded

Похожие вопросы