7

我试图在运行 CentOS 6.4 的机器上从源代码构建 gvim7.4。我按照此处提到的说明在本地构建 vim。可执行的“vim”构建得很好,但“gvim”却无处可寻。我尝试了所有可以在谷歌上找到的东西,但似乎没有帮助。

'gvim' 是否应该使用任何其他方法(除了通常的配置/制作方式)来构建?或者有什么不为人知的技巧来为 gvim 构建可执行文件?

我的操作系统:CentOS 6.4。拥有所有需要的 X/devel 东西。使用的命令是:

./configure --prefix=/usr --with-compiledby="megazoe"   \
            --with-features=huge --enable-rubyinterp    \
            --enable-pythoninterp --enable-python3interp    \
            --enable-gui=gnome2 --enable-luainterp \
            --enable-perlinterp --enable-cscope 

来自 configure 的标准输出具有以下与 X 相关的内容:

checking if X11 header files can be found... yes
checking for _XdmcpAuthDoIt in -lXdmcp... no
checking for IceOpenConnection in -lICE... yes
checking for XpmCreatePixmapFromData in -lXpm... yes
checking if X11 header files implicitly declare return values... no
checking size of wchar_t is 2 bytes... no
checking --enable-gui argument... GNOME 2.x GUI support
checking --disable-gtktest argument... gtk test enabled
checking for pkg-config... /usr/bin/pkg-config
checking for GTK - version >= 2.2.0... yes; found version 2.18.9
checking for libgnomeui-2.0... yes
checking for FreeBSD... no
checking X11/SM/SMlib.h usability... yes
checking X11/SM/SMlib.h presence... yes
checking for X11/SM/SMlib.h... yes
checking X11/xpm.h usability... yes
checking X11/xpm.h presence... yes
checking for X11/xpm.h... yes
checking X11/Sunkeysym.h usability... yes
checking X11/Sunkeysym.h presence... yes
checking for X11/Sunkeysym.h... yes
checking for XIMText in X11/Xlib.h... yes
X GUI selected; xim has been enabled
checking for CYGWIN environment... no

Make 不会抛出任何错误,'vim' 构建得很好。只是,在任何地方都看不到 gvim!我可以将 -g 开关与 vim 一起用于 GUI 实例 [vim -g] 但这不是 gvim,而是使用 GNOME 菜单栏和作品,这正是我想要的。既然使用了--enable-gui=gnome2,不应该构建'gvim'吗?还是 gvim 完全不同?

有关如何解决此问题的任何建议?

谢谢!

4

1 回答 1

7

诀窍似乎是在调用 make 时设置适当的 vimruntime 目录,并具有以下目录

--enable-gui=gnome2
--with-x=yes

在配置脚本的开关列表中。

这是我的测试构建脚本,它似乎给出了所需的结果。

mkdir /tmp/vimbuild; cd /tmp/vimbuild
wget -c ftp://ftp.vim.org/pub/vim/unix/vim-7.4.tar.bz2
tar -xjvf vim-7.4.tar.bz2
cd vim74
\rm -rf src/auto/config.cache
make clean
./configure --prefix=/usr --with-compiledby="megazoe"   \
            --with-features=huge --enable-rubyinterp    \
            --enable-pythoninterp --enable-python3interp    \
            --disable-tclinterp --with-x=yes \
            --enable-xim --enable-multibyte \
            --enable-gui=gnome2 \
            --enable-luainterp --enable-perlinterp \
            --enable-cscope \
            --enable-netbeans 2>&1

make -j20 VIMRUNTIMEDIR=/tmp/vimbuild/vim74/runtime/ 
if [ -f src/vim ]
then
  \cp -f src/vim src/gvim
  strip src/gvim
  ./src/gvim &
fi

将最终的可执行文件命名为 'gvim' 很重要,否则它需要以 vim -g 的形式调用才能处于 GUI 模式。

于 2013-10-18T12:24:34.560 回答