2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Компиляция для MIPS, как найти ошибку?
Сообщение16.03.2017, 11:57 


06/06/11
60
Здравствуйте.

Есть серьезная проблема. Я собирал некоторые функции, которые необходимы для операций с матрицами. Собирал я их из CLAPACK, запускал на домашнем компьютере из под CodeBlocks, собралось, заработало посчитало. Всего там 145 файлов.

Веселье начинается, когда я пытаюсь воспользоваться симулятором, где я сгребаю свой проект и пытаюсь его сбилдить:

Код:
// ----- Project: OK
// mipsel-elf32-gcc -g -EL -G0 -fno-delayed-branch -Wa,-O0 -Wa,--mc24r2 -T OK.xl $  -o OK.o
0:d:/mcstudio_3m/tools4x/bin/../lib/gcc/mipsel-elf32/4.8.1/../../../../mipsel-elf32/lib\libc.a(lib_a-fstatr.o): In function `_fstat_r':
0:(.text+0x4): undefined reference to `fstat'
0:d:/mcstudio_3m/tools4x/bin/../lib/gcc/mipsel-elf32/4.8.1/../../../../mipsel-elf32/lib\libc.a(lib_a-fstatr.o): In function `_fstat_r':
0:(.text+0x8): undefined reference to `fstat'
0:d:/mcstudio_3m/tools4x/bin/../lib/gcc/mipsel-elf32/4.8.1/../../../../mipsel-elf32/lib\libc.a(lib_a-openr.o): In function `_open_r':
0:(.text+0x4): undefined reference to `open'
0:d:/mcstudio_3m/tools4x/bin/../lib/gcc/mipsel-elf32/4.8.1/../../../../mipsel-elf32/lib\libc.a(lib_a-openr.o): In function `_open_r':
0:(.text+0x8): undefined reference to `open'
...

Чтобы не было простыни я часть лога выложил.

Это, как я понял, означает, что я использую функции, которые невозможно обработать на симуляторе. Подобные ошибки возникают, если я пытаюсь использовать оператор вывода, например.

Вопрос состоит в следующем: Есть ли способ узнать на какие именно операторы ругается компилятор в моем коде? Потому, что в логах он ссылается на себя.

 Профиль  
                  
 
 Re: Компиляция для MIPS, как найти ошибку?
Сообщение16.03.2017, 14:26 
Заслуженный участник


16/02/13
4214
Владивосток
Прямого и простого — нет. Это ошибки компоновщика, не компилятора. Они возникают на той стадии, когда исходного текста уже нет.

 Профиль  
                  
 
 Re: Компиляция для MIPS, как найти ошибку?
Сообщение16.03.2017, 14:46 


06/06/11
60
iifat в сообщении #1200916 писал(а):
Прямого и простого — нет. Это ошибки компоновщика, не компилятора. Они возникают на той стадии, когда исходного текста уже нет.


Спасибо большое за ответ. А есть ли список "запрещенных" функций, которые могли бы вызывать подобные ошибки?

 Профиль  
                  
 
 Re: Компиляция для MIPS, как найти ошибку?
Сообщение16.03.2017, 18:01 
Заслуженный участник


26/05/14
981
Причина ваших проблем немного глубже. В заголовочных файлах у вас упомянуты функции, которых нет в библиотеках.
Я делаю такой вывод, так как код компилируется (т.е. функции объявлены), но не компонуется (т.е. определений функций нет).
Возможные причины:
- компоновщику не передана библиотека где определяются функции для работы с файловой системой (на это намекают имена fstat и open);
- заголовочные файлы от одного компилятора а библиотек и от другого (у вас ведь кросс-компиляция?). Тогда ищите определения INCLUDE и LIB или подобные.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group