Я работаю 16.04. Моя программа C использует isdigit (интервал). Я получаю следующее, когда я выполняю его под 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.
Что продолжается?Спасибо.
Проблема в не, что у Вас нет ctype.h, потому что Вам нужен он для компиляции программы. В Вашем случае это зависит от пути gdb, располагается, включает. Возможно, необходимо использовать, "определяют местоположение ctype.h" и устанавливают внутри gdb включать-каталог как:
set substitute-path /usr/src/include /mnt/include
взгляните здесь: https://sourceware.org/gdb/onlinedocs/gdb/Source-Path.html