Skip to content

05: Building Node v6.3.0 on Windows

win edited this page Jul 19, 2016 · 1 revision

As I build node v6.3.0, (on Win7 x64, VS2013 update3)

When switch from x86 to x64, I found the following errors

1. ICU genccode arch mismatch

 fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'X86'

TODO: Make sure icu's genccode is built for x64!

note:

see and open in text editor

C:\projects\node-v6.3.0\tools\icu\icudata.vcxproj

see custom build line ...

 <CustomBuild Include="..\..\deps\v8\tools\gyp\Debug\obj\global_intermediate\icutmp\icudt57l.dat">
      <FileType>Document</FileType>
         <Command>call call ..\..\$(Configuration)\genccode "-o" "-d" "$(OutDir)obj\global_intermediate" 
            "-n" "icudata" "-e" "icusmdt57" "$(OutDir)obj\global_intermediate\icutmp\icudt57l.dat"
            if %errorlevel% neq 0 exit /b %errorlevel%</Command> 
         <Message>genccode</Message>
      <Outputs>$(OutDir)obj\global_intermediate\icudt57l_dat.obj</Outputs>
 </CustomBuild>

replace genccode x86 version with newly built x64 genccode version


2. Release mode: unrecognized flag '-archSSE2' in 'p2' on v8_base0, v8_base1, v8_base2, v8_base3 projects

open the project file in release section , you will see

 ENABLE_DISASSEMBLER; 

TODO: remove it , when we are in release mode