glib的下载地址:
http://ftp.gnome.org/pub/GNOME/sources/glib/2.26/
为 GNOME 2 作好准备
http://www.ibm.com/developerworks/cn/linux/guitoolkit/gnome/gnome2/part1/
http://www.ibm.com/developerworks/cn/linux/guitoolkit/gnome/gnome2/part2/
GTK相关
http://blog.csdn.net/absurd/category/177436.aspx
Gtk+主循环
http://www.donevii.com/post/580.html
imtx一些不错的桌面开发文章
http://imtx.cn/archives/category/desktop-develop/
对某个目录下面所有.c和.h的文件生成TAGS,以方便emacs等查找源码的符号定义
find . -name "*.[chCH]" -exec etags -a {} /;
gtags可以在emacs中用来查找函数引用,即某个函数在哪些地方被调用
apt-get install global可以安装gtags
在project是目录下执行:
gtags
你会发现在当前目录多了几个文件:GPATH、GRTAGS、GSYMS、GTAGS。它们就是用于在源文件之间快速跳转。
在emacs里进入到gtags模式,执行“M-x gtags-mode”。
这样就可以使用“gtags-find-pattern”和“gtags-find-symbol”来查找函数调用和声明以及符号声明。
pkg-config
http://blog.csdn.net/absurd/archive/2006/02/15/599813.aspx
gcc `pkg-config --cflags --libs gtk+-2.0` -o hello helloworld.c
这个编译选项,实际上是把 `` 之间的进行执行解析,再作为gcc的选项
pkg-config --cflags --libs gtk+-2.0会从相应的/usr/lib/pkgconfig目录下(也可能是其它目录)找到gtk+-2.0.pc文件,然后解析这个.pc文件,把gtk+-2.0对应的库文件目录打印到当前位置,作为gcc的选项。
gcc -g -o main main.c `pkg-config --cflags glib-2.0` `pkg-config --libs glib-2.0`
使用 Linux 命令 ldd 可以看出所需的共享库
ldd a.out
如何系统有两个相同的库,一个是自己编译的debug版本的话,则在编译链接程序的时候,指定用我们的,这样的话,库函数才能用s命令跟进去。可以临时在LD_LIBRARY_PATH中加入我们自己的库目录,在链接程序的过程中,LD_LIBRARY_PATH的优先级是高于系统默认的,如 /usr/lib的目录,这样的话,编译好之后,使用的动态库应该就是我们自己的了。可以用ldd命令确认一下。
LD_LIBRARY_PATH=/home/godpig/study/gdbm/lib:${LD_LIBRARY_PATH}
在控制台中执行这个命令,可以只在当前控制台中生效,关了控制台之后,这个LD_LIBRARY_PATH又恢复成以前的了。
emacs 配置
http://www.adamjiang.com/blog/archives/622
PATH=$PATH:/new/dir
临时增加环境变量的方法