|
Boost : |
Subject: [boost] Using clang 4.0.0 with b2/bjam fails missing cstddef in boost/config/select_stdlib_config.hpp
From: Paul A. Bristow (pbristow_at_[hidden])
Date: 2017-03-24 17:27:23
I have installed the shiny new Clang at c:\llvm\ with MS Visual Studio 2015 update 3
I have added Clang to my user-config.jam thus
using clang ;
or in full detail:
using clang
: # version
4.0.0
: # location Clang compiler .exe location. # from http://llvm.org/releases/download.html dated 9Mar2017
c:\\LLVM\\bin\\clang++.exe
: # options
<warnings>on
<cxxflags>-v
;
and tried to invoke it thus
I:\modular-boost\libs\hello_boost\example>b2 toolset=clang-4.0.0 -d2 --debug-configuration > clang40_24Mar17.log
(.log file attached in case that helps).
It starts well but comes to a terminal halt missing cstddef in boost/config/select_stdlib_config.hpp
clang version 4.0.0 (tags/RELEASE_400/final)
Target: x86_64-pc-windows-msvc
Thread model: posix
InstalledDir: c:\LLVM\bin
"c:\\LLVM\\bin\\clang++.exe" -cc1 -triple x86_64-pc-windows-msvc19.0.24123 -emit-obj -mrelax-all -mincremental-linker-compatible
-disable-free -main-file-name hello_boost.cpp -mrelocation-model pic -pic-level 2 -mthread-model posix -fmath-errno -masm-verbose
-mconstructor-aliases -munwind-tables -target-cpu x86-64 -momit-leaf-frame-pointer -v -dwarf-column-info -debug-info-kind=limited
-dwarf-version=4 -debugger-tuning=gdb -coverage-notes-file
"I:\\modular-boost\\libs\\hello_boost\\example\\..\\..\\..\\bin.v2\\libs\\hello_boost\\example\\hello_boost.test\\clang-linux-4.0.0\
\debug\\hello_boost.gcno" -resource-dir "c:\\LLVM\\bin\\..\\lib\\clang\\4.0.0" -D BOOST_ALL_NO_LIB=1 -I "..\\..\\.."
-internal-isystem "c:\\LLVM\\bin\\..\\lib\\clang\\4.0.0\\include" -internal-isystem "C:\\Program Files (x86)\\Windows
Kits\\10\\Include\\10.0.10586.0\\ucrt" -O0 -Wno-unused-local-typedef -Wno-dll-attribute-on-redeclaration -Wall -fdeprecated-macro
-fdebug-compilation-dir "I:\\modular-boost\\libs\\hello_boost\\example" -ferror-limit 19 -fmessage-length 0 -fms-extensions
-fms-compatibility -fms-compatibility-version=19.0.24123 -std=c++14 -fdelayed-template-parsing -fno-inline -fobjc-runtime=gcc
-fcxx-exceptions -fexceptions -fdiagnostics-show-option -o
"..\\..\\..\\bin.v2\\libs\\hello_boost\\example\\hello_boost.test\\clang-linux-4.0.0\\debug\\hello_boost.obj" -x c++ hello_boost.cpp
clang -cc1 version 4.0.0 based upon LLVM 4.0.0 default target x86_64-pc-windows-msvc
#include "..." search starts here:
#include <...> search starts here:
..\..\..
c:\LLVM\bin\..\lib\clang\4.0.0\include
C:\Program Files (x86)\Windows Kits\10\Include\10.0.10586.0\ucrt
End of search list.
In file included from hello_boost.cpp:15:
In file included from ..\..\..\boost/config.hpp:44:
..\..\..\boost/config/select_stdlib_config.hpp:18:12: fatal error: 'cstddef' file not found
# include <cstddef>
I have two versions of cstddef
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\cstddef exists and refers to other files.
contains
// cstddef standard header
#pragma once
#ifndef _CSTDDEF_
#define _CSTDDEF_
#include <yvals.h>
and another at C:\programfiles\mingw-w64\x86_64-6.3.0-win32-seh-rt_v5-rev1\mingw64\lib\gcc\x86_64-w64-mingw32\6.3.0\include\c++;
My PATH has (amongst other items)
C:\Programfiles\mingw-w64\x86_64-6.3.0-win32-seh-rt_v5-rev1\mingw64\bin;
C:\programfiles\mingw-w64\x86_64-6.3.0-win32-seh-rt_v5-rev1\mingw64\lib\gcc\x86_64-w64-mingw32\6.3.0\include;
C:\programfiles\mingw-w64\x86_64-6.3.0-win32-seh-rt_v5-rev1\mingw64\lib\gcc\x86_64-w64-mingw32\6.3.0\include\c++;
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include;
Is this expected (rather than clang-msvc-14.0)?
notice: will use 'clang++' for clang-linux, condition <toolset>clang-linux-4.0.0
Anyone can give a clue as to what I am doing wrong?
Thanks
Paul
--- Paul A. Bristow Prizet Farmhouse Kendal UK LA8 8AB +44 (0) 1539 561830
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk