Ubuntu Eclipse 配置 Gtk+2.0 库(3)

二 在eclipse中添加头文件目录和库文件名称

在eclipse中新建一个C工程,右键->propieties->C++ General->Paths and Symbols

选择右侧的GNU C,然后选择 Includes,添加pkg-config --cflags gtk+-2.0的输出。很遗憾,没有一次性添加的方法,而且添加的时候不能带上前面的-I,第一行的-pthread也不用添加

Ubuntu Eclipse 配置 Gtk+2.0 库

记得要选 Add to all configurations,一个个添加完之后,选择Libraries,添加pkg-config --libs gtk+-2.0的输出,当然也不要前面的-l,也要选择 Add to all configuratins

Ubuntu Eclipse 配置 Gtk+2.0 库

三 设置编译和连接选项

选择C++ Build->setting,在右侧的Configuration中选择Debug

点选右侧的 GCC C Compiler,在右侧的 command中添加 `pkg-config --cflags --libs gtk+-2.0`,注意不是单绰号,而反引号

Ubuntu Eclipse 配置 Gtk+2.0 库

然后在Configuration中选择Realease,同样选择GNU C Compiler,在右侧的command中添加 `pkg-config --cfalgs --libs gtk+2.0`

点OK

编译运行

然后就是编译运行了,在eclipse中编译运行就不多说了,主要想说的是怎么写Makefile

在我所参考的网页中,提供了一个通用makefile

GTK_FLAGS = $(shell pkg-config --cflags --libs gtk+-2.0)
all:
 gcc -Wall -std=c99 -o app *.c ${GTK_FLAGS}
 
但是这不是我想要的效果,真正的Makefile也不可能这么写,于是我在gtk的中文FAQ中找到了这样一个Makefile

# basic GTK+ app makefile
SOURCES = myprg.c foo.c bar.c
OBJS    = ${SOURCES:.c=.o}
CFLAGS  = `gtk-config --cflags`
LDADD  = `gtk-config --libs`
CC      = gcc
PACKAGE = myprg
 
all : ${OBJS}
        ${CC} -o ${PACKAGE} ${OBJS} ${LDADD}
 
.c.o:
        ${CC} ${CFLAGS} -c $<
 
# end of file
 
这当然是可靠且可行的,我的Makefile也是基本上参考这一个Makefile写的 

# 功能:测试gtk+ Makefile
#
# 作者:小代码
#
# 时间:2014年 11月 23日 星期日 21:23:20 CST
 
 
PROGRAM=test
 
 
# 指定编译器
CC=gcc
# 指定编译选项
CFLAGS=-c -Wall `pkg-config --cflags gtk+-2.0`
# 指定连接时的库
LDADD=`pkg-config --libs gtk+-2.0`
 
# 指定删除命令及选项
RM=rm -rf
 
# 默认目标,创建可执行程序
all:${PROGRAM}
 
 
${PROGRAM}:helloGTK.o
    ${CC} -o ${PROGRAM} $^ ${LDADD}
 
helloGTK.o:helloGTK.c
 
 
 
.PHNOY:clean run
 
# 清除工作
clean:
    -${RM} ${PROGRAM} *.o
 
# 运行程序
run:
    ./${PROGRAM}
 
我的Makefile使用效果:

Ubuntu Eclipse 配置 Gtk+2.0 库

后记

那么我们是不是每次都要这么麻烦才可以写gtk程序呢?其实不然,只需要复制粘贴项目就可以,当然你换了工作空间也可手导入项目

再就是为什么我不演示在eclipse中的运行效果?因为我们不可能一直依赖IDE,eclipse对我的作用就是一个好用的代码编辑器和项目管理工具,对我来说,它并不是正值好的项目构建工具,所以我还是喜欢使用eclipse写代码,make编译运行程序的方式。也建议大家使用这种方式

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/17195.html