1. 今天编译webkit时遇到无法识别宏"AM_PATH_GLIB_2_0"的错误
解决方法: 设置环境变量ACLOCAL_FLAGS供aclocal使用, export ACLOCAL_FLAGS="-I /home/bsquare/webkit-lib/share/aclocal"
注意: 该宏是供aclocal使用, configure时不起作用
2. 编译gtk时出现以下错误:
1> configure时
checking for XOpenDisplay... no
configure: error: *** libX11 not found. Check 'config.log' for more details.
解决方法: 安装libxrender-dev (on ubuntu)
在config.log中连接时需要的库:-lXext -lXrender -lX11
2> make时
gdkdnd-x11.c:33: fatal error: X11/extensions/Xcomposite.h: No such file or directory
解决方法: 安装libxcomposite-dev
3. gail 需要atk >= 1.13.0 gtk+-2.0 >= 2.9.4
atk 需要glib
4. . build.sh与./build.sh区别
. 与source是同一个命令,即在当前shell中执行build.sh脚本
而./build.sh则是在新建子shell中执行,并不影响父shell的环境。
例如: build.sh如下
#!/bin/sh
XXX=/usr/lib
执行. build.sh后,echo $XXX的值就是/usr/lib,而执行./build.sh后,当前shell中为空
所以. build.sh也可以用于存储值,即设置当前shell的变量值。在运行下一个shell脚本中继续使用。
例如,另一个脚本xx.sh内容为:
#!/bin/sh
echo $XXX
则. build.sh & ./xx.sh 结果为/usr/lib
./build.sh & ./xx.sh结果为空
5. 今天编译chromium,成功后运行失败,一看错误是:java.lang.UnsatisfiedLinkError: nativeSetDipScale
明显就是jni调用失败,应该是没有找到jni底层实现。分2步
1> 检查是否是native方法
2> 如果是,则会在out目录下产生相关的*_jni.h文件,看看该文件是否有该方法,一般是有的。再次要看看包名和上层java文件的包名是否一致,这也是经常错误的地方,特别是自己改动上层java的包名时。
但是我看代码后并没有上面说的问题,很是奇怪。最后加了一个log才发现,原来上面log的错误并不是第一个错误,这个错误提示包名不对。也就是说我认为的那个错误是由这个错误引起的。
所以以后遇到这样的错误,千万要准确定位错误的地方。
6. vim配色
在~/.vimrc中加上
:colorscheme blue
在/usr/share/vim/vim74/color目录下有支持的颜色
可以直接在vim下输入:colorscheme blue来查看各个颜色的效果(按Tap键,它会自动切换不同主题的名字)