[CMake] NMake Generation Error: machine type 'X86' conflicts with target machine type 'x64'

Aaron_Wright at selinc.com Aaron_Wright at selinc.com
Fri Nov 13 13:15:38 EST 2009


Bill,
        I think you were right. I took a hard look at my SDK paths and 
changed a capital "I" to a lower-case "i" and everything seems better. 
Thanks for help.

        On a side note, perhaps "assuming" x64 when x86 fails is a bad 
algorithm, or at least confusing.
---------------------------------------------------------
Aaron Wright




Bill Hoffman <bill.hoffman at kitware.com> 
Sent by: cmake-bounces at cmake.org
11/13/2009 09:07 AM

To
Aaron_Wright at selinc.com
cc
CMake <cmake at cmake.org>, Bill Hoffman <bill.hoffman at kitware.com>
Subject
Re: [CMake] NMake Generation Error: machine type 'X86' conflicts with 
target machine type 'x64'






Aaron_Wright at selinc.com wrote:
> 
> I have the windows SDK installed. It came with Visual Studio. I run 
> everything from perl, so in my script, I set the environment to:
> 
>          $ENV{"VSINSTALLDIR"} = "C:\\Program Files\\Microsoft Visual 
> Studio 9.0";
>          $ENV{"VCINSTALLDIR"} = "C:\\Program Files\\Microsoft Visual 
> Studio 9.0\\VC";
>          $ENV{"FrameworkDir"} = "C:\\WINDOWS\\Microsoft.NET\\Framework";
>          $ENV{"FrameworkVersion"} = "v2.0.50727";
>          $ENV{"Framework35Version"} = "v3.5";
>          $ENV{"DevEnvDir"} = "C:\\Program Files\\Microsoft Visual Studio 

> 9.0\\Common7\\IDE";
>          $ENV{"PATH"} = "C:\\Program Files\\Microsoft Visual Studio 
> 9.0\\Common7\\IDE;C:\\Program Files\\Microsoft Visual Studio 
> 9.0\\VC\\BIN;C:\\Program Files\\Microsoft Visual Studio 
> 
9.0\\Common7\\Tools;C:\\WINDOWS\\Microsoft.NET\\Framework\\v3.5;C:\\WINDOWS\\Microsoft.NET\\Framework\\v2.0.50727;C:\\Program 

> Files\\Microsoft Visual Studio 9.0\\VC\\VCPackages;*C:\\Program 
> Files\\Microsoft SDKs\\Windows\\v6.0A\\bin*;" . $ENV{"PATH"};
>          $ENV{"INCLUDE"} = "C:\\Program Files\\Microsoft Visual Studio 
> 9.0\VC\\INCLUDE;*C:\\Program Files\\Microsoft 
> SDKs\\Windows\\v6.0A\\Include*;" . $ENV{"INCLUDE"};
>          $ENV{"LIB"} = "C:\\Program Files\\Microsoft Visual Studio 
> 9.0\\VC\\LIB;*C:\\Program Files\\Microsoft SDKs\\Windows\\v6.0A\\Lib*;" 
> . $ENV{"LIB"};
>          $ENV{"LIBPATH"} = 
> 
"C:\\WINDOWS\\Microsoft.NET\\Framework\\v3.5;C:\\WINDOWS\\Microsoft.NET\\Framework\\v2.0.50727;C:\\Program 

> Files\\Microsoft Visual Studio 9.0\\VC\\LIB;" . $ENV{"LIBPATH"};
> 

Look in the CMakeError.log and CMakeOutput.log files to see why it 
thinks it is 64 bit.  The 64 detect is sort of a hack... It tries to 
build with 32 bit flags, and if that fails it assumes 64.  Most of the 
time when it gets this wrong it means that it can not find the system 
libraries from the SDK.

-Bill
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20091113/83b701e1/attachment-0001.htm>


More information about the CMake mailing list