OpenSSL SSL_library_init()返回LeaveCriticalSection

时间:2014-03-19 12:45:02

标签: c++ windows dll openssl

我正在Visual Studio 2012中开发C ++项目。

我的链接器命令行如下:

/OUT:"..\bin\Debug\x86\BANANA.C.Helper.dll" /MANIFEST /NXCOMPAT /PDB:"..\bin\Debug\x86\BANANA.C.Helper.pdb"
/DYNAMICBASE "zlibstat.lib" "iphlpapi.lib" "kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib"
"comdlg32.lib" "advapi32.lib" "shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "odbc32.lib"
"odbccp32.lib" /IMPLIB:"..\bin\Debug\x86\BANANA.C.Helper.lib" /DEBUG /DLL /MACHINE:X86
/INCREMENTAL /PGD:"..\bin\Debug\x86\BANANA.C.Helper.pgd" /SUBSYSTEM:WINDOWS
/MANIFESTUAC:"level='asInvoker' uiAccess='false'" /NOLOGO
/ManifestFile:"Debug\BANANA.C.Helper.dll.intermediate.manifest" /ERRORREPORT:PROMPT
/LIBPATH:"C:\OpenSSL-Win32\bin" /LIBPATH:"D:\#Library\C++\boost_1_55_0-msvc-11.0-32\lib32-msvc-11.0"
/TLBID:1 

当我致电SSL_library_init时,我收到C_test.exe has triggered a breakpoint错误。

enter image description here

但是在另一个项目的同一个来源中,它运作正常。

我认为与项目选项有关,但我找不到有关SSL_library_init() returns LeaveCriticalSection的任何信息。

有没有人有任何想法?

修改

错误源位于mlock.c中。

void __cdecl _unlock (
    int locknum
    )
{
    /*
     * leave the critical section.
     */
    LeaveCriticalSection( _locktable[locknum].lock );
} ---> here

错误代码如下:

enter image description here

0 个答案:

没有答案