Thursday, September 13, 2012

Problems compiling 64bit Vim using MSVC++ 2010 Express on Windows7 and statically linking Python3

I'm having some problems compiling 64bit Vim using MSVC++ 2010 Express on Windows7 and statically linking Python3.

First i execute the msvc2010.bat batch file in the Vim /src/ dir to setup the environment.

Then i call another script to setup the following environment variables:

set GUI=yes
set NETBEANS=no
set FEATURES=HUGE
set CPU=AMD64
set WINVER=0x500
set OLE=yes
set PYTHON3=C:\Python32
set PYTHON3_VER=32
set DYNAMIC_PYTHON3=no

Then i compile like this:

nmake -f Make_mvc.mak

This is the output:

link /RELEASE /nologo /subsystem:windows /LTCG:STATUS -out:gvim.exe .\ObjGOHAMD64\blowfish.o
bj .\ObjGOHAMD64\buffer.obj .\ObjGOHAMD64\charset.obj .\ObjGOHAMD64\diff.obj .\ObjGOHAMD64\digra
ph.obj .\ObjGOHAMD64\edit.obj .\ObjGOHAMD64\eval.obj .\ObjGOHAMD64\ex_cmds.obj .\ObjGOHAMD64\ex_
cmds2.obj .\ObjGOHAMD64\ex_docmd.obj .\ObjGOHAMD64\ex_eval.obj .\ObjGOHAMD64\ex_getln.obj .\ObjG
OHAMD64\fileio.obj .\ObjGOHAMD64\fold.obj .\ObjGOHAMD64\getchar.obj .\ObjGOHAMD64\hardcopy.obj .
\ObjGOHAMD64\hashtab.obj .\ObjGOHAMD64\main.obj .\ObjGOHAMD64\mark.obj .\ObjGOHAMD64\mbyte.obj .
\ObjGOHAMD64\memfile.obj .\ObjGOHAMD64\memline.obj .\ObjGOHAMD64\menu.obj .\ObjGOHAMD64\message.o
bj .\ObjGOHAMD64\misc1.obj .\ObjGOHAMD64\misc2.obj .\ObjGOHAMD64\move.obj .\ObjGOHAMD64\normal.o
bj .\ObjGOHAMD64\ops.obj .\ObjGOHAMD64\option.obj .\ObjGOHAMD64\os_mswin.obj .\ObjGOHAMD64\os_wi
n32.obj .\ObjGOHAMD64\pathdef.obj .\ObjGOHAMD64\popupmnu.obj .\ObjGOHAMD64\quickfix.obj .\ObjGOH
AMD64\regexp.obj .\ObjGOHAMD64\screen.obj .\ObjGOHAMD64\search.obj .\ObjGOHAMD64\sha256.obj .\Ob
jGOHAMD64\spell.obj .\ObjGOHAMD64\syntax.obj .\ObjGOHAMD64\tag.obj .\ObjGOHAMD64\term.obj .\ObjG
OHAMD64\ui.obj .\ObjGOHAMD64\undo.obj .\ObjGOHAMD64\window.obj .\ObjGOHAMD64\vim.res .\ObjGOHAMD6
4\gui.obj .\ObjGOHAMD64\gui_beval.obj .\ObjGOHAMD64\gui_w32.obj .\ObjGOHAMD64\os_w32exe.obj .\Obj
GOHAMD64\if_ole.obj .\ObjGOHAMD64\if_python3.obj .\ObjGOHAMD64/if_cscope.obj .\ObjGOHAMD6
4/xpm_w32.obj .\ObjGOHAMD64\version.obj oldnames.lib kernel32.lib advapi32.lib shell32.lib gdi32.lib
comdlg32.lib ole32.lib uuid.lib /machine:AMD64 /nodefaultlib gdi32.lib version.lib winspool.lib
comctl32.lib advapi32.lib shell32.lib /machine:AMD64 /nodefaultlib libcmt.lib oleaut32.lib user32.
lib C:\Python32\libs\python32.lib xpm\x64\lib\libXpm.lib /PDB:gvim.pdb -debug
.\ObjGOHAMD64\blowfish.obj : fatal error LNK1112: module machine type 'X86' conflicts with target ma
chine type 'x64'
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\link.EXE"' :
return code '0x458'
Stop.

It seems to be compiling the modules as 32bit? Is this right? Have i specified the correct environment variables? Any ideas how to solve this problem?

--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

No comments: