
From: Boost-users [mailto:boost-users-bounces@lists.boost.org] On Behalf Of degski via Boost-users Sent: 30 November 2018 20:40 To: boost-users@lists.boost.org Cc: degski Subject: Re: [Boost-users] LLVM bitcode for Boost libraries? On Fri, 30 Nov 2018 at 16:09, Osman Zakir via Boost-users <boost-users@lists.boost.org> wrote: So you mean I should use Clang-C2/Clang with Microsoft CodeGen, aka the clang-cl compiler? Either way, how do I change the compiler toolchain when building Boost? No, that's dead for a [quite] while now, just get and install Clang/LLVM from https://releases.llvm.org/download.html#7.0.0. AFAIK, the final Boost-1.69 release [or current dev branch] will allow for building with clang-cl **and lld-link** [Thanks to Peter Dimov]. You'll need to have a project-jam file something like this: import option ; using clang-win : : "C:\\Program Files\\LLVM\\bin\\clang-cl.exe" -fuse-ld=lld : <compatibility>vc14 <compileflags>-fmsc-version=1915 <compileflags>-fms-compatibility <compileflags>-fno-delayed-template-parsing <compileflags>-flto=thin <cxxflags>"/std:c++17" <cxxflags>"/Zc:forScope" <cxxflags>"/Zc:wchar_t" <cxxflags>"/EHsc" <cxxflags>"/Zc:inline" <cxxflags>"/Gd" <cxxflags>"/diagnostics:classic" <cxxflags>-Wno-unknown-argument <cxxflags>-Wno-unknown-pragmas <cxxflags>-Wno-macro-redefined <cxxflags>-Wno-unused-variable <cxxflags>-Wno-mismatched-tags <cxxflags>-Wno-deprecated-declarations <cxxflags>-D_UNICODE <cxxflags>-DUNICODE <cxxflags>-DBOOST_USE_WINDOWS_H <cxxflags>-DBOOST_NO_ANSI_APIS <cxxflags>-DBOOST_USE_WINAPI_VERSION=0x1000 <cxxflags>-DBOOST_USE_WINDOWS_H=1 <cxxflags>-DNOMINMAX <cxxflags>-DWIN32_LEAN_AND_MEAN <cxxflags>-D_CRT_SECURE_NO_WARNINGS ; But you'll have to adjust that to your needs. Before I bash my head against this configuration again, please can you confirm that this does this work for you to build the Boost libraries **on Windows** so that one can use the Boost.Test library (not header-only)? Am I right on thinking that All the / items are to allow compilation of MSVC stuff. Is it essential to use <cxxflags>"/EHsc" ? when test suite using Boost. emits a warning that EHa should be enabled: warning C4535: calling _set_se_translator() requires /EHa All the –Wno- items are to deal with a blizzard of warnings from MSVC stuff? <cxxflags>-D_CRT_SECURE_NO_WARNINGS is need to avoid C runtime warnings. And all the other –D items are only needed if you want to use more than empty project console applications? Thanks Paul