From: David Abrahams (dave_at_[hidden])
Date: 2003-06-24 07:01:55
"John Maddock" <jm_at_[hidden]> writes:
>> I just checked out the latest CVS and I am having trouble building it.
>> My environment is:
>> - Windows XP
>> - Intel Version 7.1, Build 20030402Z
>> - Visual C++ 7.0
>> All my environment variables are setup correctly (INCLUDE, LIB, MSVCDIR,
>> INTEL_PATH, PATH). The command line I am using with bjam is:
>> bjam -sTOOLS=intel-win32 -sINTEL_BASE_MSVC_TOOLSET=vc7
>> Looking at the command line that bjam is executing to compile the files,
>> it seems to be all right (paths to header files, the correct compiler,
>> This error happens in a lot of files, besides numeric.cpp. I let it try
>> to compile more 6 files before I gave up, since something is obviously
>> wrong. If needed, I can post the list of files that are giving this error.
>> Does anybody know what am I doing wrong?
> It looks like the config system is assuming that wchar_t is a native
The config system shouldn't make that assumption; we explicitly set
_NATIVE_WCHAR_T_DEFINED when we turn on wide character support.
> but that it isn't being turned on in the compiler - perhaps a boost.build
> expert can jump in here....
The code which handles it is:
# tell the compiler about the base toolset.
if $(INTEL_BASE_MSVC_TOOLSET) = msvc
C++FLAGS += /Qvc6 ;
# no wchar_t support in vc6 dinkum library.
if $(version) > 5
# Add support for wchar_t
C++FLAGS += /Zc:wchar_t
# Tell the dinkumware library about it.
C++FLAGS += /Q$(INTEL_BASE_MSVC_TOOLSET) ;
If your installation path for the compiler includes a "CompilerXX"
element, where XX is a two-digit number, it will deduce the version
from that. Otherwise, you should set INTEL_VERSION to a one digit
number, "7" in your case. Note that if you installed Intel to use
msvc6 as its back-end toolset, you won't get wchar_t support either
because the standard library can't handle it.
-- Dave Abrahams Boost Consulting www.boost-consulting.com