vi/vim使用进阶: vim编译中遇到的问题及解决方法

<< 返回vim使用进阶: 目录

在文章在vim中使用gdb调试中,我介绍了如何编译vim。

不过有网友在编译vim时遇到问题,问如何解决vim编译中出现的问题,我把解决方法总结在这里。

一个比较常见的问题就是在编译gvim不成功。vim编译完了,却发现图形化的gvim没有被编译出来。

vim在编译时,缺省会尝试编译gvim,但如果需要的图形库或其它库文件没有找到,就会略过gvim的编译。

出现这个问题,首先检查你的图形库是否存在。通常我们所用的图形库都是gtk2,如果你的计算机上安装上gnome,那么肯定已经安装了gtk的图形库。如果确是因gtk库没有安装,可以先安装gtk库,网上关于gtk安装的文章很多,在此不再赘述了。

如果你的计算机已经安装了gtk2,但gvim还是编译失败,就需要查看一下configure的输出,看看为什么不能编译gvim。configure的输出为vim72/src/auto/config.log。

例如,在我的debian计算机上,编译gvim失败,在config.log中,可以看到:

1. configure:7601: checking if X11 header files can be found

2. configure:7627: gcc -c -O2 -fno-strength-reduce -Wall conftest.c >&5

3. conftest.c:16:27: error: X11/Intrinsic.h: No such file or directory

4. configure:7634: $? = 1

5. configure: failed program was:

6. | /* confdefs.h. */

7. | #define PACKAGE_NAME “”

8. | #define PACKAGE_TARNAME “”

9. | #define PACKAGE_VERSION “”

10. | #define PACKAGE_STRING “”

11. | #define PACKAGE_BUGREPORT “”

12. | #define UNIX 1

13. | #define STDC_HEADERS 1

14. | #define HAVE_SYS_WAIT_H 1

15. | #define FEAT_NORMAL 1

16. | #define USE_XSMP_INTERACT 1

17. | #define HAVE_LIBNSL 1

18. | #define FEAT_NETBEANS_INTG 1

19. | /* end confdefs.h. */

20. | #include <X11/Xlib.h>

21. | #include <X11/Intrinsic.h>

22. | int

23. | main ()

24. | {

25. |

26. | ;

27. | return 0;

28. | }

29. configure:7645: result: no

30. configure:7978: checking –enable-gui argument

31. configure:8038: result: no GUI support

我们可以看到在第30行和31行显示没有GUI支持,而原因则在第3行:”conftest.c:16:27: error: X11/Intrinsic.h: No such file or directory“,也就是说找不到文件 X11/Intrinsic.h。

在网上搜索后得知,这个库在debian的libdevel/libxt-dev包中,安装此包后,gvim就编译成功了。

另外还有一个朋友问,如何使vim支持+signs功能,signs功能是在big版本中才被包含进来的功能,如果想在normal版本的vim中包含此功能,就需要修改vim72/src/feature.h文件,在此文件中把:

# define FEAT_SIGNS 

打开,然后再编译就可以了。

<< 返回vim使用进阶: 目录

“vi/vim使用进阶: vim编译中遇到的问题及解决方法”的5个回复

  1. 作者好像好久没有写了,这些文章对我来说帮助真是太大了,我正是按照这一系列文章的指引,慢慢地把自己的vim配置得有声有色了。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注