error: gtk/gtk.h: No such file or directory

littleubuntu 2011-03-10 03:32:13
很奇怪:在命令行里直接写gcc -c main.c -o main.o -I `pkg-config --cflags --libs gtk+-2.0 gstreamer-0.10`就没有问题,但是写在makefile里就报错(RT),makefile如下:
CFLAGS=`pkg-config --cflags gtk+-2.0 gstreamer-0.10`
LIBS=`pkg-config --libs gtk+-2.0 gstreamer-0.10`

Player:main.o gui.o
gcc main.o gui.o -o Player $(CFLAGS) $(LIBS)
main.o:main.c
gcc -c main.c -o main.o $(CFLAFS) $(LIBS)
gui.o:gui.c
gcc -c gui.c -o gui.o $(CFLAFS) $(LIBS)

clean:rm *.o
...全文
5598 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
luciferisnotsatan 2011-04-03
  • 打赏
  • 举报
回复
找不到那个文件,你搜索下那个文件文件在哪。然后加进去

-Ixxx/gtk/gtk.h 把xxx这个替换成你找到的路径
jufeng2309 2011-04-03
  • 打赏
  • 举报
回复
-I直接指向gtk.h 所在的目录。
chunqiudmq 2011-04-02
  • 打赏
  • 举报
回复
求高手指点啊~
stargazer_xk 2011-03-19
  • 打赏
  • 举报
回复
我也是同样的问题,makefile如下:
stargazer : stargazer.o PacketCapture.o StargazerGUI.o
mkdir bin
gcc stargazer.o PacketCapture.o StargazerGUI.o -Wall -o stargazer `pkg-config --cflags --libs gtk+-2.0`
stargazer.o : stargazer.h stargazer.cc
gcc stargazer.cc -Wall -c
PacketCapture.o : PacketCapture.h PacketCapture.cc
gcc PacketCapture.cc -Wall -c
StargazerGUI.o : StargazerGUI.h StargazerGUI.cc
gcc StargazerGUI.cc -Wall -c `pkg-config --cflags --libs gtk+-2.0`
编译报错:error : gtk/gtk.h no such file or directory
但是我在shell中直接用
$ gcc -o stargazer stargazer.h stargazer.cc PacketCapture.h PacketCapture.cc StargazerGUI.h StargazerGUI.cc `pkg-config --cflags --libs gtk+-2.0`
编译就没有这个错误
我的gtk+环境应该没有问题,照教程上的例子和gcc编译命令可以显示出窗口

不知道何解啊,在线等答案!!!
xiatiandeningjing 2011-03-10
  • 打赏
  • 举报
回复
很明显是说没有gtk/gtk.h这样的头文件
「已注销」 2011-03-10
  • 打赏
  • 举报
回复
gcc -c main.c -o main.o -I `pkg-config --cflags --libs gtk+-2.0 gstreamer-0.10`

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧