|
Boost-Build : |
Subject: [Boost-build] Visual Studio 2017 and clang-cl
From: Marco Strohner (Marco.Strohner_at_[hidden])
Date: 2018-01-31 12:46:43
Hi,
I'm trying to build boost 1.66.0 with Visual Studio 2017 and Clang-cl.exe.
Currently I'm stucked with some defines that are required by boost:
I used following command line:
bjam -j8 toolset=clang -sBOOST_BUILD_USER_CONFIG=build_config --layout=tagged variant=debug,release address-model=32 link=static runtime-link=static threading=multi cxxflags=/GR- cxxflags=-std=c++11 cxxflags=-fms-extensions cxxflags=-fms-compatibility cxxflags=/EHsc define=BOOST_NO_RTTI define=BOOST_NO_TYPEID %BOOST_LIBS%
My build_config has following content:
import os ;
local LLVM_WIN = [ os.environ LLVM_WIN ] ; using clang-win
: 5.0
: "$(LLVM_WIN)clang-cl.exe"
: <compatibility>vc14
;
In the first try I get following error:
.\boost/type_index/detail/compile_time_type_info.hpp(282,9): error: no matching function for call to 'failed_to_get_function_name'
Then I tried to use __PRETTY_FUNCTION__ for BOOST_TYPE_INDEX_FUNCTION_SIGNATURE with following result:
.\boost/type_index/detail/compile_time_type_info.hpp(81,9): error: static_assert failed "TypeIndex library is misconfigured for your compiler. Please define BOOST_TYPE_INDEX_CTTI_USER_DEFINED_PARSING to correct values. See section 'RTTI emulation limitations' of the documentation for more information."
I found the documentation for this define (http://www.boost.org/doc/libs/1_58_0/doc/html/BOOST_TYPE_INDEX_CTTI_USER_DEFINED_PARSING.html) and tried to set this define to:
-DBOOST_TYPE_INDEX_CTTI_USER_DEFINED_PARSING='(39, 1, true, "T = ")'
But it doesn't work. I tried multiple different versions with (escaped) quotes but no version worked.
Does anybody know how to use these defines for a Visual Studio build with clang?
Thanks a lot.
Regards
Marco
Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk