Boost logo

Boost :

Subject: [boost] [build] How to use with clang on windows?
From: John Maddock (jz.maddock_at_[hidden])
Date: 2016-03-25 15:35:15


What's the correct way to configure clang on windows with current
Boost.Build?

If I use:

using clang-win : 3.7 : "C:/Progra~2/MICROS~4.0/VC/Clang
3.7/bin/x86/clang.exe" : <cxxflags>-std=c++11 <compatibility>vc14 ;

to configure the clang that ships with VC14 I see:

compile-c-c++
..\..\..\bin.v2\libs\smart_ptr\test\shared_ptr_basic_test.test\clang-vc14-win-3.7\debug\shared_ptr_basic_test.obj
clang.exe: error: no such file or directory: '/Od'
clang.exe: error: no such file or directory: '/Ob0'
clang.exe: error: no such file or directory: '/W3'
clang.exe: error: no such file or directory: '/GR'
clang.exe: error: no such file or directory: '/MDd'
clang.exe: error: no such file or directory: '/Zc:forScope'
clang.exe: error: no such file or directory: '/Zc:wchar_t'
clang.exe: error: no such file or directory: '/wd4675'
clang.exe: error: no such file or directory: '/EHs'

Same errors with the llvm clang-3.9.

On the other hand if I initialize with:

using clang : : "C:/Progra~2/LLVM/bin/clang.exe" : <cxxflags>-std=c++14
<compatibility>vc14 <cxxflags>-fms-compatibility-version=19.00.22609 ;

Then this sort of works for llvm clang, but not the msvc one (can't find
c2.exe), but the compiler is identified as "clang-linux" and I see:

LINK : warning LNK4044: unrecognized option '/-start-group'; ignored
LINK : warning LNK4044: unrecognized option '/Bstatic'; ignored
LINK : warning LNK4044: unrecognized option '/Bdynamic'; ignored
LINK : warning LNK4044: unrecognized option '/-end-group'; ignored

Plus some linker errors such as:

yield_k_test.obj : error LNK2019: unresolved external symbol __mm_pause
referenced in function "void __cdecl boost::detail::yield(unsigned int)"
(?yield_at_detail@boost@@YAXI_at_Z)

Ideas?

Thanks, John.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk