2015-11-17 3 views
1

Я включил vsprintf в свой проект. Однако при компиляции я получаю следующую ошибку.XGCC stdarg.h НЕТ ТАКИХ ФАЙЛОВ ИЛИ КАТАЛОГ

/opt/xgcc/decstation-ultrix/bin/xgcc -DIN_USER_MODE -c -I../userprog -I../threads -G 0 -Wall -O2 -DCHANGED -c vsprintf.c 
vsprintf.c:12: stdarg.h: No such file or directory 
make[1]: *** [vsprintf.o] Error 1 
rm add.o 
make[1]: Leaving directory `/home/banana/se31/code/test' 
make: *** [all] Error 2 

Линия 12 из vsprintf содержит следующее:

#include <stdarg.h> 

Я проверил, что stdarg.h правильно установлен в моей системе, используя следующие короткие программы.

//test.c and test.cpp 
#include <stdarg.h> 

int main(void) 
{ 
    return 0; 
} 

Когда я запускаю GCC test.c или НКА test.c я не получаю никаких ошибок, которые следуют, что мой vsprint.c и НКА правильно установлены.

Я прошел аналогичные вопросы в stackoverflow, но пока не получил решение. Я использую Ubuntu 32 бит в качестве операционной системы. Может ли кто-нибудь помочь мне решить, как я могу решить эту проблему?

+1

«Когда я запускаю gcc test.c или gcc test.cpp, я не получаю никаких ошибок» - но это не gcc, который дает вам ошибки в первую очередь, поэтому нет смысла проверять это. Ошибка указана '/ opt/xgcc/decstation-ultrix/bin/xgcc'. – hvd

+0

xgcc использует функции из gcc и g ++ и переводит его в mips. Я работаю над проектом для мини-операционной системы, называемой [link] (https://homes.cs.washington.edu/~tom/nachos/). Я использую кросс-компилятор NACHOS для linux [link] (https://www.student.cs.uwaterloo.ca/~cs350/common/linux-nachos.html). Компилятор зависит от gcc, а также от g ++. Вот почему я тестировал gcc. – DBoonz

+1

«xgcc использует функции из gcc и g ++ и переводит их в mips». Нет, нет. Он не использует функции из gcc вашего хоста, это отдельная автономная сортировка установки специально сконфигурированного gcc, и на самом деле, если он будет использовать файлы заголовков вашего хоста, все будет сильно нарушаться, поскольку файлы заголовков вашего хоста не являются написанный для мип. – hvd

ответ

0

Как hvd

указал. Я проверял stdarg.h в неправильном месте. Чтобы исправить это, stdarg.h пришлось добавить в мой проект. Оттуда кросс-компилятор (xgcc) смог скомпилировать программу.

Смежные вопросы