vc2010編譯openssl時cl.exe報告0xC0000135錯誤的解決
阿新 • • 發佈:2018-12-18
E:\openssl\openssl-1.0.2p>nmake -f ms\ntdll.mak Microsoft (R) 程式維護實用工具 10.00.30319.01 版 版權所有(C) Microsoft Corporation。保留所有權利。 Building OpenSSL perl .\util\copy-if-different.pl ".\crypto\buildinf.h" "tmp32dll\buildinf.h" Copying: ./crypto/buildinf.h to tmp32dll/buildinf.h perl .\util\copy-if-different.pl ".\crypto\opensslconf.h" "inc32\openssl\opensslconf.h" Copying: ./crypto/opensslconf.h to inc32/openssl/opensslconf.h cl /Fotmp32dll\mem_clr.obj -Iinc32 -Itmp32dll /MD /Ox /O2 /Ob2 -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_USE_APPLINK -I. -DOPENSSL_NO_RC5 -DOPENSSL_NO_MD2 -DOPENSSL_NO_SSL2 -DOPENSSL_NO_KRB5 -DOPENSSL_NO_JPAKE -DOPENSSL_NO_WEAK_SSL_CIPHERS -DOPENSSL_NO_STATIC_ENGINE /Zi /Fdtmp32dll/lib -D_WINDLL -DOPENSSL_BUILD_SHLIBCRYPTO -c .\crypto\mem_clr.c NMAKE : fatal error U1077: “"c:\Program Files\Microsoft Visual Studio 10.0\vc\bin\cl.EXE"”: 返回程式碼“0xc0000135” Stop.
檢索網上的解決方法,說是未執行vcvar32.bat導致的。於是,執行vc2010之bin目錄下的vcvar32.bat,報告如下錯誤:
C:\Program Files\Microsoft Visual Studio 10.0\VC>.\bin\vcvars32.bat
Setting environment for using Microsoft Visual Studio 2010 x86 tools.
此時不應有 Management。
呵呵,這個錯誤我熟悉呀,編譯boost的時候為這個寫過博文。輕車熟路地,將vcvars32拷貝到openssl目錄下,開啟vcvars32.bat檔案,加上echo列印除錯語句,發現執行如下語句時會出錯:
if "%xxx"=="yyy" (
SET "PATH=%FSHARPINSTALLDIR%;%PATH%"
)
將程式碼更改為如下:
if "%xxx"=="yyy" (
SET PATH=%FSHARPINSTALLDIR%;%PATH%
)
繼續編譯,通過。