Войти

Показать полную графическую версию : gcc "не включает" заголовочных файлов


Anatoly Belov
18-04-2006, 13:51
Пишу test.c
Компилирую gcc test.c -o test

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

[mzd]
18-04-2006, 20:17
а текст test.c можно? сведения о версии gcc, ОС, под которой запускаете gcc?

Anatoly Belov
19-04-2006, 16:23
gcc version 3.4.2 (mingw-special)
windows 2000

#include <stdio.h>
#include <dos.h>
#include <windows.h>
main(){
sound(1200);
delay(1000);
nosound();
beep (1200,1000);
printf("\nhoho\n");
return 0;
}

"undefined reference to .... " и перечисляет sound, delay,nosound, beep, т.е. все кроме printf.

далее, если взять lcc-win32 version 3.8, то он налогично будет выдавать "missing prototype for ..."

В чем глобальная ошибка-то ?


а bcc32 (Borland C++ 5.5.1 for Win32) пишет "call to function ... with no prototype in function main .

Anatoly Belov
19-04-2006, 19:10
Скомпилировал gcc version 2.95.2 19991024 (release), который спользуется в Dev-C++.
beep прошел, т.е.п ищит и печатает, а с sound проблемы остались.
Что-то я не пойму общий вывод из всего этого ...

[mzd]
19-04-2006, 22:44
Посмотрите, в каких заголовочных файлах описаны sound и beep, подключите и их. Затем задайте
int main()
{
}
если у вас main возвращает 0.

Sir Z
21-04-2006, 01:50
а разве using namespace std в gcc уже писать не надо?

__Intruder__
21-04-2006, 11:07
а разве using namespace std в gcc уже писать не надо?
А причем здесь это?.. Из стандартного пространства имен он (файл test.c) же вроде ничего не использует.
А в gcc может надо какой-нибудь конфиг подредактировать, в котором указывается, по какому пути h-файлы лежат. В Bcc32 там был файлик, в котором надо было прописать пути к src и lib папкам. Может и в этом компиляторе надо? Или, по крайней мере, проверить есть ли у компилятора файлы dos.h и windows.h.




© OSzone.net 2001-2012