如何使用MinGW-64在windows上编译vim 64位?

如何使用MinGW-64在windows上编译vim 64位?,vim,mingw-w64,Vim,Mingw W64,我尝试在windows上编译vim 64位。但我不知道如何使用MinGW-64。32位版本中有一个mingw-32-make,我可以用它来构建。但我在64位MinGW中没有找到任何“make”程序。你能告诉我如何使用mingw-64或任何我可以遵循的教程吗 谢谢。无论来自哪个源代码make程序,它只需能够执行Makefile即可。要使用特定编译器和Make_-ming.makmakefile使用MinGW编译vim,我使用以下方法: 将环境变量CC导出到相应的编译器(在我的例子中,它是32位的i

我尝试在windows上编译vim 64位。但我不知道如何使用MinGW-64。32位版本中有一个mingw-32-make,我可以用它来构建。但我在64位MinGW中没有找到任何“make”程序。你能告诉我如何使用mingw-64或任何我可以遵循的教程吗


谢谢。

无论来自哪个源代码
make
程序,它只需能够执行Makefile即可。要使用特定编译器和
Make_-ming.mak
makefile使用MinGW编译vim,我使用以下方法:

  • 将环境变量
    CC
    导出到相应的编译器(在我的例子中,它是32位的
    i686-pc-mingw32-gcc
  • 将环境变量
    LD
    导出到适当的链接器(在我的例子中,它与之类似,但用
    -LD
    后缀代替
    -gcc
    )。确保它们在
    $PATH
    上找到:我不确定要使makefile工作,您应该做什么类型的转义,所以请避免转义的必要性
  • 导出指向mingw所在目录的环境变量
    前缀
    (在我的例子中,它是
    /usr/i686-mingw32
    :我正在交叉编译)
  • 导出环境变量
    vim\u cv\u toupper\u breaked
    设置为
    yes
    。我不知道我为什么这样做
  • 最后运行make:

    cd {path/to/vim/repository}/src
    make -f Make_ming.mak FEATURES=HUGE CROSS_COMPILE=i686-pc-mingw32- OPTIMIZE=SPEED VIMRUNTIMEDIR="C:\\vim73\\runtime" CROSS=yes ARCH=i686
    
    。您肯定不需要
    CROSS\u COMPILE
    CROSS
    选项,
    ARCH
    可能应该省略(或等于
    x86\u 64
    VIMRUNTIMEDIR
    应该指向您计划安装vim的位置。但我不确定是否要逃跑

  • 导出环境变量可能应该使用

    set var=value
    
    ,例如

    set CC=x86_64-w64-mingw32-gcc
    
    (使用可执行文件的实际名称)。如果不起作用,请尝试将其移动到“生成”命令行:

    make -f Make_ming.mak CC=x86_64-w64-mingw32-gcc LD=… …
    

    python的变量(也应该出现在命令行上):


    。(如果使用python msi安装程序
    PYTHONINC
    %python%\\include
    。它是90%的一个目录,其尾部路径组件是
    include
    。应该至少包含
    python.h
    文件。)

    我刚刚在MinGW上编译了VIM,并制作了一个。我也尝试了x86-64(搜索它),当/etc/fstab改为64时,它基本上起作用了,只是我的解释器都是32,所以它就停在那里了。

    尝试设置

    ARCH=x86-64 in vim74/src/Make_ming.mak
    

    并添加选项CC=x86\u 64-w64-mingw32-gcc,可能会有用

    非常感谢您的时间和帮助。我不熟悉编译过程。我再试了一次:1.安装了TDM64 gcc。2.启动
    ming32 make-f make_ming.mak
    。我收到错误:您选择的CPU不支持X86-64指令集。我想我不应该使用ming32 make。但您已经指出,“make程序来自哪个源代码并不重要。”我真的不知道下一步该怎么办。@Nick make无关紧要,除了一些奇怪的情况,不兼容的make实现或使用非标准功能的make文件。但是仅仅是make-f make\u ming.mak是完全不够的。您必须在环境或命令行中设置变量,如我所述。我在命令行上设置了大多数变量,但无法说明这些来自环境的变量是否有效。这看起来像是您没有设置正确的
    CC
    。也许你需要设置一些
    CFLAGS
    ,我不确定。使用make-f make_ming.mak你肯定不会得到python的支持。谢谢你,ZyX。在windows上编译传统的Linux软件可能不是一个好主意。也许我不应该以Linux的方式使用Windows。这个问题还没有解决。但我相信,按照你的指示一步一步地做,这是可以做到的。我计划安装一个Windows/Linux双启动系统。将编程工作放在Linux上,与Photoshop相关的工作放在Windows上。我希望这将是一个实际的方法。谢谢!我现在正在Windows上使用升华文本编辑器。你也可以试试看。
    ARCH=x86-64 in vim74/src/Make_ming.mak