Makefile не видит файл h даже с указанным параметром -I - PullRequest
0 голосов
/ 16 марта 2020

Я не могу заставить Makefile скомпилировать с моим заголовочным файлом в /usr/local/include.

Вот мой тестовый код ниже в тесте. c.

#include <uci.h>
void main(){
        struct uci_context *c;
        c = uci_alloc_context ();
}

Теперь выполнение приведенной ниже команды работает хорошо и производит мой бинарный файл правильно.

gcc test.c -o test -I/usr/local/include/uci -luci

Но мой нижеприведенный Makefile не будет подтверждать опцию -I.

CC=gcc
LIBS=-luci
INCL=-I/usr/local/include/uci

all: test

test: test.o
        $(CC) test.c -o test $(INCL) $(LIBS) 

После запуска make я получаю this.

gcc    -c -o test.o test.c
test.c:1:17: fatal error: uci.h: No such file or directory
 #include <uci.h>
                 ^
compilation terminated.
<builtin>: recipe for target 'test.o' failed
make: *** [test.o] Error 1

Если соответствующая информация собирается на Raspbian Buster. Тот же Makefile хорошо работал на OpenWRT.

...