I followed the steps (with adjustments for version 18) to build boost using Intel compiler.
I have Intel i7 processor, with windows 7 64-bit version, therefore I run compilervars.bat batch with intel64 flag.
I run b2 with address-model=32, yet in boost libboost_log-iw-mt-gd-x32-1_66.lib is created as an x64 binary (I see it using 'dumpbin /HEADERS libboost_log-iw-mt-gd-x32-1_66.lib')
I guess the library is built by default as x64 for some reason....
It's not default because you ran compilervars.bat batch with intel64, that invoked x64 bit compiler.
If you want to use IA32 bit compiler, then you should run compilervars.bat batch with ia32.
I called compilervars.bat with ia32, and it solved the problem.
But I don't understand...
according to this
intel64 is for processors that support x64, with a modern x64 OS
and ia32 is for x86 processors.
Mine is a x64 processor! with Windows 7 x64 Enterprise Edition!
Why only the call to compilervars.bat with ia32 worked??
Thanks and Puzzled...
Even on an x64 system with support for separate 32 and 64 bit applications, there's no support for mixing them in a single application. Among other things , stopping an application to switch modes if it were supported could take as long as terminating an application and starting another on a single hardware thread.