WINCE下配置openssl

來源:互聯網
上載者:User

環境:win7 64位, vs2005, wince6

 

一 首先配置好WCECOMPAT


要編譯CE版本的OpenSSL的話,需要WCECompat這個庫,這個庫實現了許多在Desktop開發環境中有而在CE中沒有的功能,而這些功能是編譯與使用OpenSSL所必需的
它相當於一個第三方的橋樑, 如果你的wince工程中要引用一些第三方的庫,比如openssl, cURL等

1 設定環境變數, 把下面的內容儲存成一個bat檔案,比如script.bat

set OSVERSION=WCE600
set TARGETCPU=ARMV4I
set PLATFORM=VC-CE
set PATH=C:/Program Files (x86)/Microsoft Visual Studio 8/VC/ce/bin/x86_arm;C:/Program Files (x86)/Microsoft Visual Studio 8/VC/bin;C:/Program Files (x86)/Microsoft Visual Studio 8/VC/PlatformSDK/bin;C:/Program Files (x86)/Microsoft Visual Studio 8/Common7/Tools;C:/Program
Files (x86)/Microsoft Visual Studio 8/Common7/IDE;C:/Program Files (x86)/Microsoft Visual Studio 8/Common/Tools;C:/Program Files (x86)/Microsoft Visual Studio 8/Common/IDE;C:/Program Files (x86)/Microsoft Visual Studio 8/;$(FrameworkSDKDir)Bin;%PATH%
set INCLUDE=C:/Program Files (x86)/Microsoft Visual Studio 8/VC/ce/include;C:/Program Files (x86)/Windows CE Tools/wce600/353_SDK/Include/ARMV4I;C:/Program Files (x86)/Windows CE Tools/wce600/353_SDK/Include;C:/Program Files (x86)/Microsoft Visual Studio 8/VC/ce/atlmfc/include;C:/Program
Files (x86)/Microsoft Visual Studio 8/SmartDevices/SDK/SQL Server/Mobile/v3.0
set LIB=C:/Program Files (x86)/Windows CE Tools/wce600/353_SDK/Lib/ARMV4I;C:/Program Files (x86)/Microsoft Visual Studio 8/VC/ce/atlmfc/lib/ARMV4I;C:/Program Files (x86)/Microsoft Visual Studio 8/VC/ce/lib/ARMV4I
set WCECOMPAT=C:/wcecompat

這個要根據自己的電腦實際情況配置. 把script.bat隨便拷貝到一個目錄下,比如c盤根目錄. 然後啟動Visual Studio 2005命令提示(開始菜單),並運行上面的這個指令碼,編譯環境就算是準備好了.

2 編譯WCECOMPAT


把下載的壓縮包解壓到c盤根目錄, :
http://github.com/mauricek/wcecompat/tree/master

 

進到目錄下, 修改一個源碼檔案src/time.c,在其中找到函數_tzset的定義,這是一個空函數,把它整個注釋掉(或刪掉),不然在後面我們的程式要連結這個庫的時候,會報這個函數重複定義的錯。

用命令列進到C:\wcecompat目錄下, 執行perl config.pl, 產生makefile檔案.

然後要手動改一下,刪掉或注釋掉其中的``src/winmain.cpp \''這一行,不然後面鏈進我們的程式時會報找不到WinMain所需的main函數這個錯.

然後運行命令
C:\wcecompat>nmake

完成之後會在lib目錄中產生兩個庫檔案wcecompat.lib和wcecompatex.lib,兩個靜態連結庫。

3 測試

到這裡,可以先進行一個初步的測試. 可以建一個2005的wince工程,在additional dependencies裡加入上面兩個庫,並
在additional library directories加入路徑C:\wcecompat\lib。
然後編譯,應該不會報錯.

 

4 編譯openssl庫

編譯wince下面的openssl庫非常繁瑣,而且我用網上各種方法嘗試後,總是有各種各樣的錯誤,始終得不到如下四個檔案:
ssleay32.lib
ssleay32.dll
libeay32.lib
libeay32.dll

不過好在在csdn上看到有編譯好的wince下的這四個檔案,下載下來,編譯用lib, 運行用dll, 可以用.

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.