build openssl,boost with Intel C++ Compiler

1. use CMake to manage projects

able to generate multi IDE/Makefile

2.  update boost to 1.60

for 32bit Windows Targets:

b2.exe architecture=x86 –toolset=%TOOLSET% link=static threading=multi runtime-link=static define=BOOST_USE_WINAPI_VERSION=0x0501 –build-dir=%temp%
b2.exe architecture=x86 –toolset=%TOOLSET% link=static threading=multi runtime-link=shared define=BOOST_USE_WINAPI_VERSION=0x0501 –build-dir=%temp%

for 64bit Windows Targets:

b2.exe architecture=x86 address-model=64 –toolset=%TOOLSET% link=static threading=multi runtime-link=static define=BOOST_USE_WINAPI_VERSION=0x0501 –build-dir=%temp%
b2.exe architecture=x86 address-model=64 –toolset=%TOOLSET% link=static threading=multi runtime-link=shared define=BOOST_USE_WINAPI_VERSION=0x0501 –build-dir=%temp%

%TOOLSET% can be configed to use different compiler, for example:

VC2015: msvc-14.0

Intel C++ Compiler 2014 with VC2015: intel-16.0-vc14

3. update openssl to 1.0.1r

first of all, modify /Zi to /Z7

open \util\pl\VC-32.pl
find
$lib_cflag.=” /Zi /Fd\$(TMP_D)/lib”;
change to
$lib_cflag.=” /Z7 /Fd\$(TMP_D)/lib”;

After that we can start build for different Windows Targets:

for 32bit Windows Targets:
perl Configure VC-WIN32
ms\do_nasm.bat
nmake -f ms\nt.mak

for 64bit Windows Targets:
perl Configure VC-WIN64A
ms\do_win64a.bat
nmake -f ms\nt.mak

4. Intel C++ Compiler Error

Warning #31001: The DLL for Reading and Writing the PDB Could Not be Found on Your Path

This error is due to the running Intel Compiler is 64bit while seatch paths contain 32bit VS files.

solution: use bin\amd64, instead of bin\x86\amd64\, bin\

 

5. Intel C++ Compiler Error

limits(1120): error : identifier “__builtin_nanf” is undefined

This error is due to VC2015 update 1 changed macros

solution:

open _icl.cfg

add following options:

-D__builtin_huge_val()=HUGE_VAL
-D__builtin_huge_valf()=HUGE_VALF
-D__builtin_nan=nan
-D__builtin_nanf=nanf
-D__builtin_nans=nan
-D__builtin_nansf=nanf

Advertisements

1 Comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s