Ошибка компиляции кода C - PullRequest
3 голосов
/ 02 марта 2010

у меня есть этот make-файл ниже, и в него включены мои

GTK / gtk.h

и

WebKit / webkit.h

но когда я пытаюсь собрать проект с помощью команды make, у меня появляются ошибки

ошибка: gtk / gtk.h: нет такого файла или каталога

ошибка: webkit / webkit.h: нет такого файла или каталога

в случае, если gtk + -2.0.pc и webkit ... pc находятся в файле usr / lib / pkgconfig

Создать файл:

CC=gcc
CFLAGS=-g -Wall `pkg-config --cflags gtk+-2.0 webkit-1.0`
LDFLAGS+=`pkg-config --libs gtk+-2.0 webkit-1.0`
INCLUDE=/usr/include
LIB=/usr/lib
SOURCES=wrapper.c wrapper.h browser.c
OBJ=browser

all:  $(SOURCES) $(OBJ)

$(OBJ): $(SOURCES)
 $(CC) $(CFLAGS) $(LDFLAGS) -I $(INCLUDE) -L $(LIB) $(SOURCES) -o $(OBJ)

clean:
 rm -rf $(OBJ)

Ответы [ 4 ]

6 голосов
/ 02 марта 2010

Обратные пометки - это не то, как вы запускаете команды оболочки в Makefile. Ваши строки CFLAGS и LDFLAGS, вероятно, должны выглядеть как

CFLAGS=-g -Wall $(shell pkg-config --cflags gtk+-2.0 webkit-1.0)
LDFLAGS+=$(shell pkg-config --libs gtk+-2.0 webkit-1.0)
1 голос
/ 02 марта 2010

Есть ли у вас gtk / gtk.h и webkit / webkit.h в каталоге / usr / include? Установленные пакеты разработки предоставляют их?

1 голос
/ 02 марта 2010

Единственный указанный вами путь включения - /usr/include, поэтому он будет выглядеть для файлов по адресу:

/usr/include/gtk/gtk.h
/usr/include/webkit/webkit.h

Если у вас нет дополнительных путей, они указываются в переменных окружения CPATH или C_INCLUDE_PATH.

Добавить usr/lib/pkgconfig как -I путь.

1 голос
/ 02 марта 2010

Попробуйте установить CXXFLAGS в дополнение к CFLAGS.

...