【发布时间】:2014-06-15 23:33:09
【问题描述】:
抱歉英语不好,请使用 Google.translate 试图将 OpenSSL 包含到 VS2012 的项目(DLL)中。 1. 下载installer(Win32 OpenSSL v1.0.1g, 16mb) 并安装。 2.构建项目 3. 报错
1>libeay32MDd.lib(cryptlib.obj) : error LNK2001: unresolved external symbol "__imp__GetUserObjectInformationW@20"
1>libeay32MDd.lib(cryptlib.obj) : error LNK2001: unresolved external symbol "__imp__GetProcessWindowStation@0"
1>libeay32MDd.lib(cryptlib.obj) : error LNK2001: unresolved external symbol "__imp__GetDesktopWindow@0"
1>libeay32MDd.lib(cryptlib.obj) : error LNK2001: unresolved external symbol "__imp__MessageBoxA@16"
1>libeay32MDd.lib(cryptlib.obj) : error LNK2001: unresolved external symbol "__imp__DeregisterEventSource@4"
1>libeay32MDd.lib(cryptlib.obj) : error LNK2001: unresolved external symbol "__imp__ReportEventA@36"
1>libeay32MDd.lib(rand_win.obj) : error LNK2001: unresolved external symbol "__imp__DeleteDC@4"
1>libeay32MDd.lib(rand_win.obj) : error LNK2001: unresolved external symbol "__imp__DeleteObject@4"
1>libeay32MDd.lib(rand_win.obj) : error LNK2001: unresolved external symbol "__imp__GetBitmapBits@12"
1>libeay32MDd.lib(rand_win.obj) : error LNK2001: unresolved external symbol "__imp__BitBlt@36"
1>libeay32MDd.lib(rand_win.obj) : error LNK2001: unresolved external symbol "__imp__GetObjectA@12"
1>libeay32MDd.lib(rand_win.obj) : error LNK2001: unresolved external symbol "__imp__SelectObject@8"
1>libeay32MDd.lib(rand_win.obj) : error LNK2001: unresolved external symbol "__imp__CreateCompatibleBitmap@12"
1>libeay32MDd.lib(rand_win.obj) : error LNK2001: unresolved external symbol "__imp__GetDeviceCaps@8"
1>libeay32MDd.lib(rand_win.obj) : error LNK2001: unresolved external symbol "__imp__CreateCompatibleDC@4"
1>libeay32MDd.lib(rand_win.obj) : error LNK2001: unresolved external symbol "__imp__CreateDCA@16"
链接库
#pragma comment(lib, "ssleay32xx.lib")
#pragma comment(lib, "libeay32xx.lib")
我尝试了不同版本的库,只是将 /MT 更改为 /MD。 库已连接,作为函数调用
CMS_sign(&signcert,&pkey,&certs,&data,NULL);
不会导致错误。从函数名称来看是标准的Windows函数。
【问题讨论】:
标签: c windows winapi linker openssl