Hello, Sorry to send you again an email about the same subject but I really need some help on this topic. I will try to give as much information I can. I am using WCECOMPAT tool to compile OpenSSL 1.1.1b for WINCE700 on a ARMV4I CPU. We have to do this because the Long Time Support of OpenSSL 1.0.2 is ending in December 2019. If so you will find below what I did : My computer : Windows 7 Enterprise N (32 bits) Visual Studio 2008 Professional Edition + Windows Embedded Compact 7.5.2884.0
I.
WCECOMPAT Compilation set LIB=C:\Program Files\Windows CE Tools\SDKs\SDK WEC7 for VPE420 device\Lib\ARMV4I;C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib;C:\Program Files\Microsoft
Visual Studio 9.0\VC\ce\lib\ARMV4I;C:\Program Files\Microsoft Visual Studio 9.0\VC\lib set INCLUDE=C:\Program Files\Windows CE Tools\SDKs\SDK WEC7 for VPE420 device\Include\ARMV4I set OSVERSION=WCE700 set PLATFORM=VC-CE set TARGETCPU=ARMV4I set Path=C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE;C:\Program Files\Microsoft Visual Studio 9.0\VC\ce\bin\x86_arm;%Path% set LIBPATH="C:\Program Files\Windows CE Tools\SDKs\SDK WEC7 for VPE420 device\Lib\ARMV4I";C:\Program Files\Microsoft Visual Studio 9.0\VC\lib; (my WINCE700 SDK is called “SDK WEC7 for VPE420 device”) In a command prompt :
-
Perl config.pl
-
Nmake –f makefile The compilation is a success.
II.
OpenSSL Compilation The I open another command prompt in the openssl-1.1.1b folder.
·
set OSVERSION=WCE700
·
set PLATFORM=VC-CE
·
set TARGETCPU=ARMV4I
·
set LIB=C:\Program Files\Windows CE Tools\SDKs\SDK WEC7 for VPE420 device\Lib\ARMV4I;C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib;C:\Program Files\Microsoft Visual Studio
9.0\VC\ce\lib\ARMV4I;C:\Program Files\Microsoft Visual Studio 9.0\VC\lib
·
set INCLUDE=C:\Program Files\Windows CE Tools\SDKs\SDK WEC7 for VPE420 device\Include\ARMV4I;C:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include;C:\Program Files\Microsoft
Visual Studio 9.0\VC\INCLUDE;C:\Program Files\Microsoft SDKs\Windows\v6.0A\include;
·
set Path=C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE;C:\Program Files\Microsoft Visual Studio 9.0\VC\ce\bin\x86_arm;%Path%
·
set LIBPATH=C:\Program Files\Windows CE Tools\SDKs\SDK WEC7 for VPE420 device\Lib\ARMV4I;C:\Program Files\Microsoft Visual Studio 9.0\VC\lib;C:\Program Files\Microsoft Visual
Studio 9.0\VC\ce\lib\ARMV4I;
·
set WCECOMPAT=../wcecompat
·
perl Configure no-idea no-mdc2 no-rc5 no-asm no-ssl2 no-ssl3 VC-CE
·
nmake The output is the following : Microsoft (R) Program Maintenance Utility Version 9.00.30729.01 Copyright (C) Microsoft Corporation. All rights reserved. Microsoft (R) Program Maintenance Utility Version 9.00.30729.01 Copyright (C) Microsoft Corporation. All rights reserved. Microsoft (R) Program Maintenance Utility Version 9.00.30729.01 Copyright (C) Microsoft Corporation. All rights reserved. "C:\Strawberry\perl\bin\perl.exe" "-I." -Mconfigdata "util\dofile.pl" "-omakefile" "crypto\include\internal\bn_conf.h.in" > crypto\include\internal\bn_conf.h "C:\Strawberry\perl\bin\perl.exe" "-I." -Mconfigdata "util\dofile.pl" "-omakefile" "crypto\include\internal\dso_conf.h.in" > crypto\include\internal\dso_conf.h "C:\Strawberry\perl\bin\perl.exe" "-I." -Mconfigdata "util\dofile.pl" "-omakefile" "include\openssl\opensslconf.h.in" > include\openssl\opensslconf.h "C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\nmake.exe" / depend && "C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\nmake.exe"
/ _all cl /Zi /Fdossl_static.pdb /GF /Gy /MD /W3 /wd4090 /nologo /O1i /I "." /I "include" -D_WIN32_WCE=700 -DUNDER_CE=700 -DWCE_PLATFORM_VC-CE -DARM
-D_ARM_ -DARMV4I -QRarch4T -QRinterwork-return -D"L_ENDIAN" -D"NO_CHMOD" -D"OPENSSL_SMALL_FOOTPRINT" -D"OPENSSL_PIC" -D"OPENSSLDIR=\"C:\\Program Files\\Common Files\\SSL\"" -D"ENGINESDIR=\"C:\\Program Files\\OpenSSL\\lib\\engines-1_1\"" -D_WIN32_WCE=700 -DUNDER_CE=700
-DWCE_PLATFORM_VC-CE -DARM -D_ARM_ -DARMV4I -QRarch4T -QRinterwork-return -D"OPENSSL_SYS_WIN32" -D"WIN32_LEAN_AND_MEAN" -D"UNICODE" -D"_UNICODE" -D"_CRT_SECURE_NO_DEPRECATE" -D"_WINSOCK_DEPRECATED_NO_WARNINGS" -D"NDEBUG" -I"\../wcecompat/include" -c /Foapps\app_rand.obj
"apps\app_rand.c" app_rand.c C:\openssl-1.1.1b\e_os.h(287) : warning C4005: 'open' : macro redefinition C:\wcecompat\include\io.h(43) : see previous definition of 'open' C:\openssl-1.1.1b\e_os.h(289) : warning C4005: 'close' : macro redefinition C:\wcecompat\include\io.h(45) : see previous definition of 'close' C:\openssl-1.1.1b\e_os.h(293) : warning C4005: 'unlink' : macro redefinition C:\wcecompat\include\io.h(50) : see previous definition of 'unlink' cl /Zi /Fdossl_static.pdb /GF /Gy /MD /W3 /wd4090 /nologo /O1i /I "." /I "include" -D_WIN32_WCE=700 -DUNDER_CE=700 -DWCE_PLATFORM_VC-CE -DARM
-D_ARM_ -DARMV4I -QRarch4T -QRinterwork-return -D"L_ENDIAN" -D"NO_CHMOD" -D"OPENSSL_SMALL_FOOTPRINT" -D"OPENSSL_PIC" -D"OPENSSLDIR=\"C:\\Program Files\\Common Files\\SSL\"" -D"ENGINESDIR=\"C:\\Program Files\\OpenSSL\\lib\\engines-1_1\"" -D_WIN32_WCE=700 -DUNDER_CE=700
-DWCE_PLATFORM_VC-CE -DARM -D_ARM_ -DARMV4I -QRarch4T -QRinterwork-return -D"OPENSSL_SYS_WIN32" -D"WIN32_LEAN_AND_MEAN" -D"UNICODE" -D"_UNICODE" -D"_CRT_SECURE_NO_DEPRECATE" -D"_WINSOCK_DEPRECATED_NO_WARNINGS" -D"NDEBUG" -I"\../wcecompat/include" /Zs /showIncludes
"apps\app_rand.c" 2>&1 > apps\app_rand.d cl /Zi /Fdossl_static.pdb /GF /Gy /MD /W3 /wd4090 /nologo /O1i /I "." /I "include" -D_WIN32_WCE=700 -DUNDER_CE=700 -DWCE_PLATFORM_VC-CE -DARM
-D_ARM_ -DARMV4I -QRarch4T -QRinterwork-return -D"L_ENDIAN" -D"NO_CHMOD" -D"OPENSSL_SMALL_FOOTPRINT" -D"OPENSSL_PIC" -D"OPENSSLDIR=\"C:\\Program Files\\Common Files\\SSL\"" -D"ENGINESDIR=\"C:\\Program Files\\OpenSSL\\lib\\engines-1_1\"" -D_WIN32_WCE=700 -DUNDER_CE=700
-DWCE_PLATFORM_VC-CE -DARM -D_ARM_ -DARMV4I -QRarch4T -QRinterwork-return -D"OPENSSL_SYS_WIN32" -D"WIN32_LEAN_AND_MEAN" -D"UNICODE" -D"_UNICODE" -D"_CRT_SECURE_NO_DEPRECATE" -D"_WINSOCK_DEPRECATED_NO_WARNINGS" -D"NDEBUG" -I"\../wcecompat/include" -c /Foapps\apps.obj
"apps\apps.c" apps.c C:\openssl-1.1.1b\e_os.h(287) : warning C4005: 'open' : macro redefinition C:\wcecompat\include\io.h(43) : see previous definition of 'open' C:\openssl-1.1.1b\e_os.h(289) : warning C4005: 'close' : macro redefinition C:\wcecompat\include\io.h(45) : see previous definition of 'close' C:\openssl-1.1.1b\e_os.h(293) : warning C4005: 'unlink' : macro redefinition C:\wcecompat\include\io.h(50) : see previous definition of 'unlink' apps\apps.c(2596) : warning C4013: '_fdopen' undefined; assuming extern returning int apps\apps.c(2596) : warning C4047: '=' : 'FILE *' differs in levels of indirection from 'int' apps\apps.c(2614) : warning C4013: '_close' undefined; assuming extern returning int apps\apps.c(2696) : warning C4013: 'GetStdHandle' undefined; assuming extern returning int apps\apps.c(2696) : error C2065: 'STD_INPUT_HANDLE' : undeclared identifier apps\apps.c(2696) : warning C4047: 'initializing' : 'HANDLE' differs in levels of indirection from 'int' apps\apps.c(2698) : error C2065: 'INPUT_RECORD' : undeclared identifier apps\apps.c(2698) : error C2146: syntax error : missing ';' before identifier 'inputrec' apps\apps.c(2698) : error C2065: 'inputrec' : undeclared identifier apps\apps.c(2699) : error C2275: 'DWORD' : illegal use of this type as an _expression_ C:\Program Files\Windows CE Tools\SDKs\SDK WEC7 for VPE420 device\Include\ARMV4I\windef.h(161) : see declaration of 'DWORD' apps\apps.c(2699) : error C2146: syntax error : missing ';' before identifier 'insize' apps\apps.c(2699) : error C2065: 'insize' : undeclared identifier apps\apps.c(2700) : error C2275: 'BOOL' : illegal use of this type as an _expression_ C:\Program Files\Windows CE Tools\SDKs\SDK WEC7 for VPE420 device\Include\ARMV4I\windef.h(162) : see declaration of 'BOOL' apps\apps.c(2700) : error C2146: syntax error : missing ';' before identifier 'peeked' apps\apps.c(2700) : error C2065: 'peeked' : undeclared identifier apps\apps.c(2706) : error C2065: 'peeked' : undeclared identifier apps\apps.c(2706) : warning C4013: 'PeekConsoleInput' undefined; assuming extern returning int apps\apps.c(2706) : error C2065: 'inputrec' : undeclared identifier apps\apps.c(2706) : error C2065: 'insize' : undeclared identifier apps\apps.c(2707) : error C2065: 'peeked' : undeclared identifier NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 9.0\VC\ce\ bin\x86_arm\cl.EXE"' : return code '0x2' Stop. NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN \nmake.exe"' : return code '0x2' Stop. Any guess or hint would be much appreciated. Greetings, Maxime TORRELLI Embedded Software Engineer Conduent Conduent Business
Solutions (France) 1 rue Claude Chappe – BP 345 |