我目前正在使用:
OpenSSL更具体地说:
...
我使用Indy将idOpenSSLSetLibPath()befoe传递给了Indy。
但我收到错误: EIdOSSLCouldNoLoadSSLLibrary at:
TIdSSLIOHandlerSocketOpenSSL.Init() -> TIdSSLContext.Create()
...
LoadOpenSSLLibrary() -> IdSSLOpenSSLHeaders.Load()
...
Load()
...
hIDCrypto := LoadSSLCryptoLibrary() -> Result := HModule(HackLoad(...))
...
Result := LoadLibrary(HackLoadFileName(ALibName,ALibVersions[I])); // always zero :(
评论
" GIdOpenSSLPath + SSLCLIB_DLL_name是正确的(Indy在使用&#34时正确设置文件扩展名; HackLoadFileName"在" LoadLibrary"调用)
Indy尝试迭代/加载以下名称: libcrypto,libcrypto.1.0.0,libcrypto.10,libcrypto.1.0.1,libcrypto.1.0.2
...
问题#1:
...
关于可能原因的想法#1:
这可能是Lazarus为OS X编译 32位的问题吗? OpenSSL是 64位?
答案 0 :(得分:0)
在命令行中安装这样的openssl: brew install openssl --universal
这可确保库适用于32位和64位应用程序。
您可能需要先使用:brew uninstall openssl
卸载