2013-10-07 61 views
2

我試圖在Windows上編譯vim 64位。但我不知道如何使用MinGW-64。在32位版本中有一個mingw-32-make,我可以用它來構建。但是我沒有在64位MinGW中找到任何'make'程序。你能告訴我如何使用mingw-64,或者我可以遵循的任何教程嗎?如何使用MinGW-64在Windows上編譯vim 64位?

謝謝。

回答

2

程序來自哪個源make並不重要,它只是必須能夠執行Makefile。要編譯MinGW VIM與特定的編譯器和Make_ming.mak makefile文件我用下面的:

  1. 出口環境變量CC集到合適的編譯器(在我的情況下,它是32位的命名i686-pc-mingw32-gcc)。
  2. 導出環境變量LD設置爲適當的鏈接器(在我的情況下它是類似的,但-ld後綴代替-gcc)。確保它們在$PATH上找到:我不確定你應該怎麼做才能讓makefile工作,所以避免轉義的必要性。
  3. 導出環境變量prefix指向mingw所在的目錄(在我的情況下,它是/usr/i686-mingw32:我正在交叉編譯)。
  4. 導出環境變量vim_cv_toupper_broken設置爲yes。我不知道爲什麼我這樣做。
  5. 最後運行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_COMPILECROSS選項,並且ARCH應該可能被省略(或等於x86_64)。 VIMRUNTIMEDIR應該指向你計劃安裝vim的地方。不知道逃脫。

出口環境變量應該與可能做

set var=value 

,例如

set CC=x86_64-w64-mingw32-gcc 

(使用可執行文件的實際名稱)。如果這不起作用,請將它們移動到make命令行:

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

和變量爲Python(也應存在於命令行):

PYTHON="P:\\ath\\to\\directory\\with\\python" PYTHONINC="P:\\ath\\to\\directory\\with\\python\\header\\files" PYTHON_VER=27 PYTHON_VER_LONG=2.7.5 

。 (如果使用Python MSI安裝PYTHONINC%PYTHON%\\include,它是90%,一些目錄,它的尾路徑組件是include。應至少包含Python.h文件。)

+0

非常感謝您的時間和幫助。我不熟悉編譯過程。我再次嘗試:1.安裝TDM64-gcc。 2.啓動'ming32-make -f Make_ming.mak'。我得到錯誤:您選擇的CPU不支持X86-64指令集。我想我不應該使用ming32-make。但是你已經指出「從哪個來源製作節目並不重要」。我真的不知道下一步該怎麼做。 – Nick

+0

@Nick Make是無關緊要的,除了一些奇怪的情況與不兼容的make實現或makefile使用非標準功能。但是'make -f Make_ming.mak'完全不夠。您必須按照我所描述的方式在環境或命令行中設置變量。他們中的大多數我都是在命令行中設置的,並且無法說明這些環境變量是否可行。這看起來好像你沒有設置正確的CC。也許你需要設置一些'CFLAGS',我不確定。只用'make -f Make_ming.mak'你肯定*不會得到python支持。 – ZyX

+0

謝謝,ZyX。在Windows上編譯傳統的Linux軟件可能不是一個好主意。也許我不應該以Linux的方式使用Windows。這個問題沒有解決。但我相信,按照你的指示一步一步,它可以完成。我打算安裝Windows/Linux雙啓動系統。將編程工作放在Linux上,並將與Photoshop相關的工作放在Windows上。我希望這將是一個實用的方法。 – Nick

0

我剛剛編譯VIM上的MinGW,並提出了gist about it。我也嘗試了x86-64(搜索它),並將/ etc/fstab改爲64,它基本上可以工作,只是我的解釋器都是32,所以它停在那裏。

+0

謝謝!我現在在Windows上使用Sublime Text編輯器。你也可以嘗試一下。 – Nick

0

嘗試設置

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

,並添加選項CC=x86_64-w64-mingw32-gcc,也許這將是有益的。