[Win32utils-devel] [ruby-core:20183] Re: Unable to build from source on Vista, VC++ 9

Daniel Berger djberg96 at gmail.com
Mon Dec 1 00:52:46 EST 2008

Nobuyoshi Nakada wrote:
> Hi,
> At Sun, 30 Nov 2008 22:42:36 +0900,
> Daniel Berger wrote in [ruby-core:20176]:
>> eval.c(9839) : fatal error C1189: #error :  unsupported platform
>> NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 
>> 9.0\VC\BIN\amd64\cl.EXE"' : return code '0x2'
>> Stop.
> VC seems to define _M_AMD64 on amd64 instead of _M_IX86, but
> I'm not sure about AMD64 instruction set and if Windows on it
> saves the exception list in the same place.  Do you have any
> idea?

As Park Heesob brought up on win32utils-devel, SEH on 64-bit Windows is table 
based instead of stack based.

 From MSDN:

"One of the constraints for the x64 compiler is to have no inline assembler 
support. This means that functions that cannot be written in C or C++ will 
either have to be written as subroutines or as intrinsic functions supported by 
the compiler. Certain functions are performance sensitive while others are not. 
Performance-sensitive functions should be implemented as intrinsic functions. In 
general, this will be the same list of intrinsic functions implemented for ALPHA 
and the Itanium but will include x64 specific functions as well."


So, I guess we must compile in 32-bit mode on Windows. :(



More information about the win32utils-devel mailing list