Re: MSVC is broken for x86 builds on x64 hosts

Mats Wichmann <[email protected]>
Newsgroups gmane.comp.programming.tools.scons.user
Message-ID <[email protected]>
On 3/28/19 8:04 AM, Michael Hartmann wrote:
> The code to support Visual Studio tries to construct a path to cl.exe
> form the host arch (amd64) and the target arch (x86):
> 
>  
> 
> vc.py:get_host_target()
> 
> vc.py:get_host_target() req_target_platform:x86
> 
> _check_cl_exists_in_vc_dir(): host platform amd64, target platform x86
> 
> _check_cl_exists_in_vc_dir(): checking for cl.exe at C:\Program Files
> (x86)\Microsoft Visual
> Studio\2017\WDExpress\VC\Tools\MSVC\14.14.26428\bin\Hostx64\x86\cl.exe
> 
> find_vc_pdir no compiler found 14.1
> 
> trying to find VC 14.0
> 
> find_vc_dir(): found VC in registry: C:\Program Files (x86)\Microsoft
> Visual Studio 14.0\VC\
> 
> found VC 14.0
> 
> vc.py:get_host_target()
> 
> vc.py:get_host_target() req_target_platform:x86
> 
> _check_cl_exists_in_vc_dir(): host platform amd64, target platform x86
> 
> _check_cl_exists_in_vc_dir(): checking for cl.exe at C:\Program Files
> (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64_x86\cl.exe
> 
> find_vc_pdir no compiler found 14.0
> 
> trying to find VC 14.0Exp
> 
> find_vc_dir(): no VC registry key
> 'Microsoft\\VCExpress\\14.0\\Setup\\VC\\ProductDir'
> 
> find_vc_pdir return None for ver 14.0Exp
> 
>  
> 
> The problem is: Visual Studio is always a x86 application. The compiler
> for a x86 target is not a cross compiler and is found in VC\bin, not
> VC\bin\amd64_x86.

Looking at a system here, both exist... under
"Microsoft Visual Studio 14.0/VC/bin" I see:

amd64/cl.exe
amd64_arm/cl.exe
amd64_x86/cl.exe
cl.exe
x86_amd64/cl.exe
x86_arm/cl.exe

(and of course VS 2017 has changed the equation completely)

nobody seems to be an expert here, so we're just guessing at the right
approaches...
_______________________________________________
Scons-users mailing list
[email protected]
https://pairlist4.pair.net/mailman/listinfo/scons-users
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.