1. 下载安装MSYS2

https://msys2.github.io/下载MSYS2,推荐下载x86-64版,此版本内置了MinGW32与MinGW64

安装后首先更新MSYS2系统,顺序执行下列代码(注:每条语句执行完毕后若提示关闭终端,则应关闭终端重新打开,再继续下一跳指令)

pacman -Sy pacman
pacman -Syu
pacman -Su

2. 配置编译环境

所需软件:gcc(x64),make(可选,默认有mingw32-make),git

MSYS2.exe或MinGW64.exe打开终端执行下列代码安装

pacman -S mingw-w64-x86_64-gcc make git

3. 获取vim源码

git clone https://github.com/vim/vim vim

3.1 添加python支持

在源码目录vim/src/Make_ming.mak修改添加如下代码($(MSYS2)替换为MSYS2的安装目录如C:/MSYS2)

PYTHON=$(MSYS2)/mingw64
PYTHON_HOME=$(MSYS2)/mingw64
PYTHONINC=-I$(MSYS2)/mingw64/include/python2.7
DYNAMIC_PYTHON_DLL=libpython2.7.dll
STATIC_STDCPLUS=yes

3.2添加lua支持

下载地址:http://luabinaries.sourceforge.net/download.html

x86系统下载lua-X.Y.Z_Win32_dllw4_lib.zip

x84系统下载lua-X.Y.Z_Win64_dllw4_lib.zip

下载后解压至任意目录

在源码目录vim/src/Make_ming.mak修改添加如下代码(已lua5.3.x为例)

LUA=C:/Lua53
LUA_VER=53
DYNAMIC_LUA=yes

然后复制解压出来的lua53.dll文件到windows的系统目录,具体哪个目录依赖于你的vim版本位数和windows版本位数:

32位Windows上编译32位vim: C:\Windows\System32

64位Windows上编译32位vim: C:\Windows\SysWOW64

64位Windows上编译64位vim: C:\Windows\System32

也可以复制lua53.dll到gvim所在的目录

4. 编译gvim

阅读vim/src/INSTALLpc.txt来设置makefile文件,MSYS2对应makefile位于vim/src/Make_ming.mak

配置好后,MinGW64.exe打开终端,切换到vim/src目录

执行$ make -f Make_ming.mak USERNAME=xxx USERDOMAIN=xxx编译

使用MSYS2编译64位gvim的更多相关文章

  1. Windows下编译64位GSL

    GSL (GNU Scientific Library, http://www.gnu.org/software/gsl/)官方并没有提供编译好的Windows版本.首先要保证Windows是64位的 ...

  2. VS 2013编译64位版本QT 4.8.6及使用cmake为依赖QT生成VS项目时Could NOT find Qt4

    对于一些已经解决的问题,本博客不再讨论.只将本人遇到的问题做简单的说明. 一.VS 2013编译64位版本QT 4.8.6 QT项目官网中,对于QT4,其只提供了windows X86的版本,并且支持 ...

  3. VS2015下编译64位GDAL总结

    使用VS2015编译最新的64位GDAL(最新gdal2.11),确实有一些问题,看来双方还是太新了,有点不兼容,特总结如下. 以前经常用的通过VisualStudio IDE进行编译的方式现在似乎不 ...

  4. 使用visual c++ 2005编译64位可执行文件

    最近需要将一个32位的程序移植到64位上,由于原来是使用vs2003写的,vs2003本身并不支持编译64位系统上,只能升级到vs2005以上版本.个人还是比较喜欢vs2005,对c++来说,vs20 ...

  5. Visual Studio 2013 编译 64 位 Python 的 C 扩展 (使用 PyObject 包装)

    对于 32 位 Python 的 C 扩展,以前用过 mingW32 编译, 但是 mingW32 不支持 64 位 Python 的 C 扩展编译,详情可见 stackoverflow,这位前辈的大 ...

  6. ubuntu16 64位 编译64位程序和32位程序

    安装了ubuntu16 64位的系统,想在该环境下用gcc编译64位和32位的程序 默认已经安装了64位环境的gcc 1. 首先确认安装的环境是不是64位的 cocoa@cocoaUKlyn:~/De ...

  7. 使用VS2015 编译 64位的boost库

    别人写的编译参考: 目标:使用VS2015 编译 64位的boost库. 一直以来都是在Win32环境下Build和使用boost,但现在基本上每天都在64位Win7下工作,所以很有必要把这几天的经验 ...

  8. windows 下编译64位ffmpeg

    window下如何编译ffmpeg 前文已有介绍,前面介绍的都是如何编译32位的库,本文主要介绍window 下如何编译64位ffmpeg库. 一.搭建编译环境 1.下载 windows下编译64位F ...

  9. 如何在linux 32位机器编译64位程序

    编译64位程序,不一定要编译机器是64位的,但是32位机器默认安装的gcc编译环境还是不能用来编译64位程序. 编译64位程序,需要加上-m64编译器参数,默认安装的gcc已经支持该参数,但是缺少64 ...

随机推荐

  1. 区间k大数查询

    问题描述 给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个. 输入格式 第一行包含一个数n,表示序列长度. 第二行包含n个正整数,表示给定的序列. 第三个包含一个正整数m,表示询问个数 ...

  2. yiStack平台维护

    <一.> yiStack 二次封装 Iso通用发行版相关配置属性值替换1.1.yiStack AIO一体机环境根据部署子网替换修改示例如下:主要修改替换isolinux/ks-aio.cf ...

  3. Windbg + .Net .NET Memory Profiler 排查内存泄露

    这是一个Winform程序,用于项目中的定时运算.症状是,运行一段时间后,内存持续上升.如一天内就能够达到300M. 打开.Net Memory Profiler,监控该程序,一段时间后,看到该程序产 ...

  4. js DOM的几个常用方法

    <div id="div1">这是个测试</div> <p </p> <p </p> //js DOM的几个常用方法 / ...

  5. win7系统服务print spooler 无法启动解决方法(开启及关闭方法)

    以下是小编从新浪博客一个大雕博客中找到的“print spooler 无法启动”解决方法,请您仔细参考. 在下的系统是Windows7正式版,因为经常要制作PDF文件,所以对虚拟打印机使用较多,在下的 ...

  6. Boost C++: 网络编程1

    #include <iostream> #include <boost/asio.hpp> #include <boost/config/compiler/visualc ...

  7. hadoop 根据SecondaryNameNode恢复Namenode

    1.修改conf/core-site.xml 增加 <property> <name>fs.checkpoint.period</name> <value&g ...

  8. 操作系统模仿CMD

    实验一.命令解释程序的编写 专业:商软(2)班   姓名:列志华  学号:201406114254 一.        实验目的 (1)掌握命令解释程序的原理: (2)掌握简单的DOS调用方法: (3 ...

  9. app打包流程

    1.什么是打包 将应用程序统一放在一个后缀是ipa的文件中,然后发给其他人,可以安装在手机上供用户或测试人员安装 2.可安装ipa的前提 ①说清楚是哪一个应用程序(App Id) ②可以安装在哪一台设 ...

  10. 前端开发之-------------合理利用CSS的权重----------------

    什么是CSS的权重?对于前端工程师来说,这是一个很基础的问题,如果前端工程师没有深刻理解这个概念,则很难写出高质量的CSS代码. 那么到底什么是CSS的权重呢?我们又怎么来进行判定CSS的权重呢? 讨 ...