[英]'gtk/gtk.h' File not found when using makefile to build gtk project
当我手动构建我的项目时,它会正确构建:
gcc main.c -o midget `pkg-config --cflags --libs gtk+-3.0`
当我尝试使用 Makefile 时,它失败了。 为清楚起见,我将代码拆分为 src 目录中的较小文件(只有主文件和 make 文件位于根目录)。 我确信我会在适当的时候遇到这些问题 - 但目前我什至无法让它看到 gtk!
我得到的错误是:
gcc -c -o *.o main.c
In file included from main.c:1:
In file included from ./main.h:2:
./src/gtk_functions.h:3:9: fatal error: 'gtk/gtk.h' file not found
#import <gtk/gtk.h>
^~~~~~~~~~~
1 error generated.
make: *** [*.o] Error 1
我的makefile如下:
TARGET = midget
CC = gcc
GTKLIBS = `pkg-config --cflags --libs gtk+-3.0`
SRC_DIR = src
midget: *.o
$(CC) -o $(TARGET) $(GTKLIBS) *.o
$(SRC_DIR)/gtk_%.o: %.c
$(CC) -c $(SRC_DIR)/gtk_%.c $(GTKLIBS) -o $(SRC_DIR)/%.o
clean :
rm -f $(TARGET) *.o
我的文件夹结构是:
.
main.c
main.h
makefile
[src]
|_gtk_functions.c
|_gtk_functions.h
|_gtk_window_setup.c
|_gtk_window_setup.h
|_ ...
我看过以下问题 - 但它似乎无助 于为 Gtk 制作文件
您从未指定编译器在编译 *.o 文件时应该使用GTKLIBS
。
规范的方法是使用CFLAGS
变量:
CFLAGS = `pkg-config --cflags gtk+-3.0`
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.