Tom Westerhout wrote:
On 27/06/2017, Peter Dimov via Boost
wrote: This is what I have in my user-config from earlier tests:
using clang : 14.1 : "C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/ClangC2/14.10.25903/bin/HostX86/clang.exe" : <linkflags>-v <linkflags>"-fuse-ld=\"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25903\\bin\\HostX86\\link.exe\""
;
Somehow clang decides to prepend target to the linker command:
"i686-pc-windows-msvc-C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\bin\\HostX86\\x86\\link.exe"
gets called in place of
"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.10.25017\\bin\\HostX86\\x86\\link.exe"
Clang then complains that the program is not executable. Well, obviously, it is not. Do you know how to work around this issue?
No idea. I think that this worked before, an update to VS 2017 probably broke it. I can't find where in Clang's sources is the i686-pc-windows-msvc- prepended and why, and massaging the path doesn't help. -fuse-ld is handled here: https://clang.llvm.org/doxygen/ToolChain_8cpp_source.html#l00375