Building 64-bit gvim on Vista x64 using MinGW-x64

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

Building 64-bit gvim on Vista x64 using MinGW-x64

John Marriott-2
Hi all,
I have recently moved to Vista x64 and I'm having troubling compiling a
64-bit version of gvim. I downloaded the MinGW-x64 packages
( along with the MinGW-x86
version of make (mingw32-make-3.81-20080326-2.tar.gz).

Now the make fails when compiling if_ole.cpp with this error in included
header if_ole.h:

gcc -Iproto -DWIN32 -DWINVER=0x0400 -D_WIN32_WINNT=0x0400 -DHAVE_PATHDEF
-DFEAT_CLIPBOARD -DFEAT_MBYTE -pipe -w -march=native -Wall -O3
-fomit-frame-pointer -freg-struct-return -s -c
-o gobj/if_ole.o if_ole.cpp
gcc -c -Iproto -DWIN32 -DWINVER=0x0400 -D_WIN32_WINNT=0x0400
32 -DFEAT_CLIPBOARD -DFEAT_MBYTE -pipe -w -march=native -Wall -O3
-fomit-frame-pointer -freg-struct-return -s
pathdef.c -o gobj/pathdef.o
windres gobj/vimres.res gobj/vimrc.o
In file included from if_ole.cpp:43:
if_ole.h:50: error: 'interface' does not name a type
if_ole.cpp: In member function 'virtual HRESULT CVim::GetHwnd(UINT*)':
if_ole.cpp:299: error: cast from 'HWND__*' to 'UINT' loses precision
make: *** [gobj/if_ole.o] Error 1
make: Target `gvim.exe' not remade because of errors.
make: Leaving directory

gvimext.cpp: In member function 'virtual HRESULT
CShellExtClassFactory::CreateInstance(IUnknown*, const IID&, void**)':
gvimext.cpp:432: error: cannot allocate an object of abstract type
gvimext.h:112: note: because the following virtual functions are pure
within 'CShellExt':

note: virtual HRESULT IContextMenu::GetCommandString(UINT_PTR,
make[1]: *** [gvimext.o] Error 1
windres --input-format=rc --output-format=coff -DMING gvimext_ming.rc -o
make[1]: Target `all' not remade because of errors.
make[1]: Leaving directory
make: *** [GvimExt/gvimext.dll] Error 2
make: Target `all' not remade because of errors.
make: Leaving directory

If I remove the need for OLE from the build I get a gvim.exe, but it
doesn't run. It starts up and then hangs chewing up 50% CPU on my Intel
Core 2 Duo. Process Explorer says that it's sitting in kernel function:


If I use Visual Studio 2008 Express with the SDK addon to build a 64-bit
version of gvim, I don't get any errors on if_ole.h and I get a working
copy of gvim.exe.
Has anyone else tried this?

SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.
The future of the web can't happen without you.  Join us at MIX09 to help
pave the way to the Next Web now. Learn more and register at;208669438;13503038;i?
MinGW-users mailing list
[hidden email]

You may change your MinGW Account Options or unsubscribe at:

This list observes the Etiquette found at
We ask that you be polite and do the same.