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.
Is VC-CE platform still supported ?

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
07503 Guilherand Granges Cedex

Reply via email to