Установлен ли ctype.h в моей системе?

Я бегу 16.04. Моя программа на C использует isdigit(int). Я получаю следующее, когда я запускаю его под GDB:

`Breakpoint 1, check_tok (token=0x6f7c20 <tokens> ".t") at outline.c:150
150 unsigned char *tp=token;
(gdb) s
151     if(isdigit(*tp))return NUM;
(gdb) 
__ctype_b_loc () at ../include/ctype.h:38
38  ../include/ctype.h: No such file or directory.
(gdb) 

Я уже выполнил:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential

`Я не получаю никаких предупреждений, когда запускаю gcc на outline.c. в верхней части моей программы у меня есть:

#include <ctype.h>
#include <stdlib.h>
#include <stdio.h>
#include "outline.h"

Я получаю только вышеупомянутую ошибку, пока в GDB.

Что здесь происходит? Спасибо.

1 ответ

Проблема не в том, что у вас нет ctype.h, потому что он нужен вам для компиляции вашей программы. В вашем случае это зависит от того, как включает GDB. Может быть, вам нужно использовать "locate ctype.h" и установить внутри gdb каталог include, например:

установить путь замены / usr / src / include / mnt / include

пожалуйста, посмотрите здесь: https://sourceware.org/gdb/onlinedocs/gdb/Source-Path.html

Другие вопросы по тегам