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. 在内核中增加对yaffs文件系统的支持

    自己最近在搞一些内核以及根文件系统的移植,就涉及到了需要在内核中增加对yaffs文件系统的支持.在网上找了一些文档后,自己将具体的操作过程做了一个总结,方便以后查询使用: 1.获取yaffs源码 YA ...

  2. <关于数据仓库>基于docker的Mysql与Hadoop/Hive之间的数据转移 (使用Apache Sqoop™)

    原创博客,转载请联系博主! 摘要:本文介绍了如何使用docker快速搭建一个可以从外部访问的mysql服务容器,和由docker搭建的分布式Hadoop文件系统,并且使用ApacheSqoop完成将m ...

  3. 应用OpenCV进行OCR字符识别

    opencv自带一个字符识别的例子,它的重点不是OCR字符识别,而主要是演示机器学习的应用.它应用的是UCI提供的字符数据(特征数据). DAMILES在网上发布了一个应用OpenCV进行OCR的例子 ...

  4. 如何初始化一个iOS原生地图

    /** 初始化一个mapView  需导入 #import <MapKit/MapKit.h> - returns: 返回一个mapView对象 */ mapView = [[MKMapV ...

  5. 全选Form > Grid 的所有行

    在AX的Grid 按Ctrl+A,并不一定能选择到grid 的所有行,比如你要将当前grid的数据复制到Excel,你需要全部选择所有行. 但AX自身的数据缓存机制,数据量非常大的时候当前grid只装 ...

  6. PowerDesigner之PDM(物理概念模型)

    一.PDM概述 PDM(物理数据模型),通俗地理解,就是在PowerDesigner中以图形化的方式展示和设计数据库. PDM中涉及到的基本概念包括: 表: 列: 视图: 主键: 候选键: 外键: 存 ...

  7. jQuery Ajax 全解析(转)

    <!-- .ajax div{ border: solid 1px red; } --> // <![CDATA[ $(function(){ $("#btnajax&qu ...

  8. SQL2005中使用identity_insert向自动增量字段中写入内

    摘自: http://www.aspbc.com/tech/showtech.asp?id=1117 SQL2005以前的数据库是不允许向自动增量字段中写入内容的,ACCESS也不行,但在SQL200 ...

  9. Use BEC to do mobile phone forensics

    Belkasoft Evidence Center makes me very impressed that it supports lots of evidence type. I have to ...

  10. poj1840 哈希

    虽然这题目我曾经在我们学校OJ上做过但是我那时候是用的暴力做的,这次我用的是哈希写的,我写这题目时候开始是在main函数里面写哈希感觉很麻烦很不清晰,然后我换用函数来写,清晰了很多,写完就AC了.用哈 ...