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