我對OpenSSL很新穎。我的目標是編譯OpenSSL for WINCE 6.0 OS。在Google上花費大量時間後,我找到了一個爲WINCE 6.0構建OpenSSL的過程。但是我嘗試構建wcecompat庫是不成功的。下面是我的環境WINCE 6.0 Openssl編譯錯誤
- 主機平臺:WINDOWS 7
- 的Visual Studio:2008
- TargetCpu:86
下面是步驟跟着建立wcecompat:
- 下載源自「https://github.com/mauricek/wcecompat/tree/master」git。
使用Visual Studio命令提示符進行構建。聲明以下變量的ENV:
set OSVERSION=WCE600
set TARGETCPU=x86
set PLATFORM=VC-CE
使用 「perl的config.pl」 命令創建的make文件。
- 執行nmake命令。
構建失敗並顯示編譯錯誤。以下是日誌:
--------------------------------------------------------------------------------------------------
args.cpp
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\wchar.h(235) : error C2059: syntax error : '('
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\wchar.h(237) : error C2059: syntax error : '('
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\wchar.h(239) : error C2059: syntax error : '('
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\wchar.h(241) : error C2059: syntax error : '('
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\wchar.h(243) : error C2059: syntax error : '('
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\wchar.h(245) : error C2059: syntax error : '('
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\wchar.h(247) : error C2059: syntax error : '('
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\wchar.h(249) : error C2059: syntax error : '('
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\wchar.h(251) : error C2059: syntax error : '('
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\wchar.h(253) : error C2059: syntax error : '('
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\wchar.h(255) : error C2059: syntax error : '('
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\wchar.h(257) : error C2059: syntax error : '('
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\wchar.h(258) : error C2059: syntax error : '('
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\wchar.h(994) : error C2556: 'const wchar_t *wcschr(const wchar_t *,wchar_t)' : overloaded function differs only by return type from 'wchar_t *wcschr(const wchar_t *,wchar_t)'
include\string.h(36) : see declaration of 'wcschr'
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\wchar.h(994) : error C2373: 'wcschr' : redefinition; different type modifiers
include\string.h(36) : see declaration of 'wcschr'
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\wchar.h(1026) : error C2556: 'const wchar_t *wcspbrk(const wchar_t *,const wchar_t *)' : overloaded function differs only by return type from 'wchar_t *wcspbrk(const wchar_t *,const wchar_t *)'
include\string.h(46) : see declaration of 'wcspbrk'
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\wchar.h(1026) : error C2373: 'wcspbrk' : redefinition; different type modifiers
include\string.h(46) : see declaration of 'wcspbrk'
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\wchar.h(1027) : error C2556: 'const wchar_t *wcsrchr(const wchar_t *,wchar_t)' : overloaded function differs only by return type from 'wchar_t *wcsrchr(const wchar_t *,wchar_t)'
include\string.h(47) : see declaration of 'wcsrchr'
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\wchar.h(1027) : error C2373: 'wcsrchr' : redefinition; different type modifiers
include\string.h(47) : see declaration of 'wcsrchr'
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\wchar.h(1029) : error C2556: 'const wchar_t *wcsstr(const wchar_t *,const wchar_t *)' : overloaded function differs only by return type from 'wchar_t *wcsstr(const wchar_t *,const wchar_t *)'
include\string.h(49) : see declaration of 'wcsstr'
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\wchar.h(1029) : error C2373: 'wcsstr' : redefinition; different type modifiers
include\string.h(49) : see declaration of 'wcsstr'
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\wchar.h(1079) : error C2264: 'wcschr' : error in function definition or declaration; function not called
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\wchar.h(1081) : error C2264: 'wcspbrk' : error in function definition or declaration; function not called
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\wchar.h(1083) : error C2264: 'wcsrchr' : error in function definition or declaration; function not called
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\wchar.h(1085) : error C2264: 'wcsstr' : error in function definition or declaration; function not called
include\stdio.h(62) : warning C4005: 'stdin' : macro redefinition
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\wchar.h(81) : see previous definition of 'stdin'
include\stdio.h(63) : warning C4005: 'stdout' : macro redefinition
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\wchar.h(82) : see previous definition of 'stdout'
include\stdio.h(64) : warning C4005: 'stderr' : macro redefinition
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\wchar.h(83) : see previous definition of 'stderr'
include\stdio.h(74) : error C2375: 'swprintf' : redefinition; different linkage
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\swprintf.inl(85) : see declaration of 'swprintf'
include\stdio.h(75) : error C2375: 'vswprintf' : redefinition; different linkage
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\swprintf.inl(97) : see declaration of 'vswprintf'
include\stdio.h(125) : error C2733: second C linkage of overloaded function '_wfdopen' not allowed
include\stdio.h(125) : see declaration of '_wfdopen'
include\stdlib.h(48) : warning C4273: '_wputenv' : inconsistent dll linkage
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\wchar.h(955) : see previous definition of '_wputenv'
include\stdlib.h(90) : warning C4273: '_ultow' : inconsistent dll linkage
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\wchar.h(884) : see previous definition of '_ultow'
include\stdlib.h(91) : warning C4273: '_itow' : inconsistent dll linkage
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\wchar.h(878) : see previous definition of '_itow'
include\stdlib.h(92) : warning C4273: '_ltow' : inconsistent dll linkage
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\wchar.h(881) : see previous definition of '_ltow'
include\stdlib.h(95) : warning C4273: 'wcstoul' : inconsistent dll linkage
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\wchar.h(889) : see previous definition of 'wcstoul'
c:\workspace\wcecompat-master\src\ts_string.h(106) : warning C4996: 'wcscpy': This function or variable may be unsafe. Consider using wcscpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
include\string.h(38) : see declaration of 'wcscpy'
c:\workspace\wcecompat-master\src\ts_string.h(151) : warning C4996: 'wcscat': This function or variable may be unsafe. Consider using wcscat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
include\string.h(35) : see declaration of 'wcscat'
------------------------------------------------------------------------------------------------
我是否缺少任何配置步驟?我現在被困了2周。請幫我解決這個錯誤。
你可以發佈「perl config.pl」的輸出嗎?另外,您是否爲您的目標設備安裝了SDK? –
感謝您的回覆。是的,我有VS 2005和WINCE 6.0編譯環境設置的XP機器。目標設備是CEPC。仍然我得到同樣的錯誤,我得到了VS 2008.Below是「perl config.pl」在VS 2005 cmd提示符下執行時的輸出: ----------------- ------------- Windows CE版本:WCE600 大:6 未成年人:00 編譯的架構:X86 編譯:-D_WIN32_WCE = 0x600 -DUNDER_CE = 600 -Dx86 -D_X86_ 鏈接:/ SUBSYSTEM:windowsce,6.00 /NODEFAULTLIB:oldnames.lib coredll.lib corelibc.lib/MACHINE:X86。 ------------------------------------------------- - 讓我知道更多的細節。 – user3224937
從wcecompat構建說明,我沒有發現任何依賴於WINCE 6.0 SDK或平臺bulder。在那裏,他聲明瞭OSVERSION,PLATFORM和TARGETCPU環境變量,並使用perl和nmake命令。我是否需要聲明PATH,INCLUDE和LIB變量? – user3224937