九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
VS2010使用openssl的靜態(tài)庫libeay32.lib和ssleay32.lib
這是我的博客的另一個(gè)地址:http://blog.sina.com.cn/s/blog_149e9d2ec0102wzvi.html

1. 首先從網(wǎng)上下載兩個(gè)文件:一個(gè)是Perl,一個(gè)是openssl-1.0.1.



2. 然后對(duì)ActivePerl進(jìn)行安裝。解壓openssl-1.0.1.tar.gz至C盤。



3. 使用VS2010自動(dòng)命令行來生成openssl對(duì)應(yīng)庫。如果沒有VS2010的請(qǐng)自行下載安裝。


4. 我們此處使用生成64位庫的命令提示窗口。


5. 然后我們進(jìn)入openssl-1.0.1的解壓目錄下,我們的解壓目錄在:C:\openssl-1.0.1下,你如果解壓到其他目錄,那么就去對(duì)應(yīng)目錄下查找即可。


6. 在openssl-1.0.1對(duì)應(yīng)的目錄下找到這幾個(gè)文件,他們都是生成對(duì)應(yīng)平臺(tái),對(duì)應(yīng)位數(shù)的命令操作的幫助文檔。上面有一定的幫助作用。不過下面我會(huì)進(jìn)行詳細(xì)的介紹,或許和這個(gè)使用有些不同。


7. 首先我們打開文檔INSTALL.W64作為參考。
a:  我們要生成windows下64位release模式的靜態(tài)庫。
首先需要在命令提示窗口依次輸入如下命令:
perl Configure VC-WIN64A no-asm--prefix=c:\openssl_64libRelease
ms\do_win64a
nmake -f ms\nt.mak
nmake -f ms\nt.makinstall
nmake -f ms\nt.maktest
其中:
VC-WIN64A:表示生成windows下64位release模式的庫。
no-asm:表示不使用匯編。
--prefix=c:\openssl_64Release:表示配置的生成文件都放在目錄c:\openssl_64Release中。
nmake -fms\nt.mak:中nt.mak表示生成靜態(tài)庫,如果換成ntdll.mak表示生成動(dòng)態(tài)庫。
nmake -f ms\nt.makinstall:生成的靜態(tài)庫放到c:\openssl_64libRelease目錄下。

下面是這幾條命令執(zhí)行的結(jié)果。









b: 如果我們要生成windows下64位debug模式的靜態(tài)庫。
perl Configure debug-VC-WIN64Ano-asm --prefix=c:\openssl_64libdebug
ms\do_win64a
nmake -f ms\nt.mak
nmake -f ms\nt.mak install
nmake -f ms\nt.mak test

c: 如果我們要生成windows下64位release模式的動(dòng)態(tài)庫。
perl Configure VC-WIN64A no-asm--prefix=c:\openssl_64dllrelease
ms\do_win64a
nmake -f ms\ntdll.mak
nmake -f ms\ntdll.mak install
nmake -f ms\ntdll.mak test

d: 如果我們要生成windows下64位debug模式的動(dòng)態(tài)庫。
perl Configure debug-VC-WIN64Ano-asm --prefix=c:\openssl_64dlldebug
ms\do_win64a
nmake -f ms\ntdll.mak
nmake -f ms\ntdll.mak install
nmake -f ms\ntdll.mak test


注:
windows下32位對(duì)應(yīng)的庫文件。
a. 我們要生成windows下32位release模式的靜態(tài)庫。
perl Configure VC-WIN32no-asm --prefix=c:\openssl_32libRelease
ms\do_ms
nmake -f ms\nt.mak
nmake -f ms\nt.mak install
nmake -f ms\nt.mak test

b: 如果我們要生成windows下32位debug模式的靜態(tài)庫。
perl Configuredebug-VC-WIN32 no-asm--prefix=c:\openssl_32libdebug
ms\do_ms
nmake -f ms\nt.mak
nmake -f ms\nt.mak install
nmake -f ms\nt.mak test

c: 如果我們要生成windows下32位release模式的動(dòng)態(tài)庫。
perl Configure VC-WIN32 no-asm--prefix=c:\openssl_32dllrelease
ms\do_ms
nmake -f ms\ntdll.mak
nmake -f ms\ntdll.mak install
nmake -f ms\ntdll.mak test

d: 如果我們要生成windows下32位debug模式的動(dòng)態(tài)庫。
perl Configuredebug-VC-WIN32 no-asm--prefix=c:\openssl_32dlldebug
ms\do_ms
nmake -f ms\ntdll.mak
nmake -f ms\ntdll.mak install
nmake -f ms\ntdll.mak test




之前遇到一個(gè)很大的問題,就是如何在VS2010使用openssl編譯產(chǎn)生的靜態(tài)庫libeay32.lib和ssleay32.lib。
比如我們寫一下代碼:
#include “openssl/ssl.h
#include  “openssl/err.h
#include “iostream
using namespace std;

//#pragma comment( lib, "ws2_32.lib" )  //socket庫,關(guān)鍵的一個(gè)庫
#pragma comment( lib, "libeay32.lib" )
#pragma comment( lib, "ssleay32.lib" )

int main()
{
SSL_load_error_strings();
SSL_library_init();
OpenSSL_add_all_algorithms();
ERR_load_BIO_strings();

const SSL_METHOD* m = SSLv23_method();
SSL_CTX *ctx = SSL_CTX_new(m);
return 0;
}

編譯后會(huì)出現(xiàn)一大堆問題和錯(cuò)誤:
1>------ Rebuild All started: Project: testssl2,Configuration: Debug Win32 ------
1>Build started 2017/5/9 13:44:35.
1>_PrepareForClean:
1>  Deleting file"Debug\testssl2.lastbuildstate".
1>InitializeBuildStatus:
1>  Creating"Debug\testssl2.unsuccessfulbuild" because "AlwaysCreate" wasspecified.
1>ClCompile:
1>  ssl2.cpp
1>libeay32.lib(bss_sock.obj) : error LNK2019: unresolvedexternal symbol __imp__closesocket@4 referenced in function_sock_free
1>libeay32.lib(bss_sock.obj) : error LNK2019: unresolvedexternal symbol __imp__shutdown@8 referenced in function_sock_free
1>libeay32.lib(bss_sock.obj) : error LNK2019: unresolvedexternal symbol __imp__recv@16 referenced in function_sock_read
1>libeay32.lib(bss_sock.obj) : error LNK2019: unresolvedexternal symbol __imp__WSASetLastError@4 referenced in function_sock_read
1>libeay32.lib(bss_sock.obj) : error LNK2019: unresolvedexternal symbol __imp__send@16 referenced in function_sock_write
1>libeay32.lib(bss_sock.obj) : error LNK2019: unresolvedexternal symbol __imp__WSAGetLastError@0 referenced in function_BIO_sock_should_retry
1>E:\VS\TESTSSL1\Debug\testssl2.exe : fatal error LNK1120:6 unresolved externals
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:01.08
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped==========


我為了這個(gè)問題困擾了我好長的時(shí)間,現(xiàn)在才現(xiàn)在我缺少了一個(gè)關(guān)鍵庫的引用,他就是:
#pragma comment( lib,"ws2_32.lib" )

如果我們加上這一句話,那么問題就迎刃而解了。

衷心的希望我曾經(jīng)的困惑能給你帶來幫助。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
如何在Windows下編譯OpenSSL (Vs2005使用Vc8的cl編譯器)
OpenSSL簡(jiǎn)介及在Windows系統(tǒng)上的編譯步驟
OpenSSL(openssl-1.0.1h)編譯與安裝(Win7)
Windows下OpenSSL安裝配置
Windows下安裝OpenSSL及其使用
在 Windows下用 Visual Studio 編譯 OpenSSL
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服