- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
当我尝试在不支持 SSL 的情况下编译 cUrl 时,没有问题。我使用这样的命令:
mingw32-make mingw32
我按照 cUrl INSTALL 文件中的说明使其支持 SSL,并尝试以这种方式编译它:
mingw32-make mingw32-ssl-zlib OPENSSL_PATH=D:/Programy/MinGW/OpenSSL ZLIB_PATH=D:/Programy/MinGW/zlib
但它不起作用,因为我收到此错误:
D:\Programy\MinGW\cUrl>mingw32-make mingw32-ssl-zlib OPENSSL_PATH=D:/Programy/Mi
nGW/OpenSSL ZLIB_PATH=D:/Programy/MinGW/zlib
mingw32-make -C lib -f Makefile.m32 CFG=mingw32-ssl-zlib
mingw32-make[1]: Entering directory 'D:/Programy/MinGW/cUrl/lib'
gcc -s -shared -o libcurl.dll \
-Wl,--output-def,libcurl.def,--out-implib,libcurldll.a \
file.o timeval.o base64.o hostip.o progress.o formdata.o cookie.o http.o sendf
.o ftp.o url.o dict.o if2ip.o speedcheck.o ldap.o version.o getenv.o escape.o mp
rintf.o telnet.o netrc.o getinfo.o transfer.o strequal.o easy.o security.o curl_
fnmatch.o fileinfo.o ftplistparser.o wildcard.o krb5.o memdebug.o http_chunks.o
strtok.o connect.o llist.o hash.o multi.o content_encoding.o share.o http_digest
.o md4.o md5.o http_negotiate.o inet_pton.o strtoofft.o strerror.o amigaos.o hos
tasyn.o hostip4.o hostip6.o hostsyn.o inet_ntop.o parsedate.o select.o tftp.o sp
lay.o strdup.o socks.o ssh.o rawstr.o curl_addrinfo.o socks_gssapi.o socks_sspi.
o curl_sspi.o slist.o nonblock.o curl_memrchr.o imap.o pop3.o smtp.o pingpong.o
rtsp.o curl_threads.o warnless.o hmac.o curl_rtmp.o openldap.o curl_gethostname.
o gopher.o idn_win32.o http_negotiate_sspi.o http_proxy.o non-ascii.o asyn-ares.
o asyn-thread.o curl_gssapi.o curl_ntlm.o curl_ntlm_wb.o curl_ntlm_core.o curl_n
tlm_msgs.o curl_sasl.o curl_multibyte.o hostcheck.o bundles.o conncache.o pipeli
ne.o dotdot.o x509asn1.o http2.o curl_sasl_sspi.o smb.o curl_sasl_gssapi.o curl_
endian.o curl_des.o vtls/openssl.o vtls/gtls.o vtls/vtls.o vtls/nss.o vtls/polar
ssl.o vtls/polarssl_threadlock.o vtls/axtls.o vtls/cyassl.o vtls/schannel.o vtls
/darwinssl.o vtls/gskit.o libcurl.res -L"D:/Programy/MinGW/OpenSSL/lib" -lcrypto
-lssl -L"D:/Programy/MinGW/zlib" -lz -lwldap32 -lws2_32
D:/Programy/MinGW/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/../../../../x8
6_64-w64-mingw32/bin/ld.exe: cannot find -lcrypto
D:/Programy/MinGW/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/../../../../x8
6_64-w64-mingw32/bin/ld.exe: cannot find -lssl
collect2.exe: error: ld returned 1 exit status
Makefile.m32:300: recipe for target 'libcurl.dll' failed
mingw32-make[1]: *** [libcurl.dll] Error 1
mingw32-make[1]: Leaving directory 'D:/Programy/MinGW/cUrl/lib'
makefile:87: recipe for target 'mingw32-ssl-zlib' failed
mingw32-make: *** [mingw32-ssl-zlib] Error 2
我已经从 Shining Light Productions 下载了 cUrl v7.40.0 和 Win64 OpenSSL v1.0.2a .据我了解,此 OpenSSL 发行版包含 libeay32.dll
、libssl32.dll
和 ssleay32.dll
而不是 libcrypto.dll
和 libssl.dll
我没有,编译器正在寻找它们。我还检查了我的 C:\Windows\System32
文件夹中是否包含所有三个 dll。我使用的是 MinGW-w64 编译器,没有 MSYS,版本 4.9.2。
要在 Win64 上编译支持 SSL 的 cUrl 库,我需要做什么?我是否需要修改我的编译命令、某些文件,或者我一开始就下载了错误版本的 OpenSSL?非常感谢任何帮助。
最佳答案
... Win64 OpenSSL v1.0.2a from Shining Light Productions. From what I understand, this distribution of OpenSSL contains libeay32.dll, libssl32.dll and ssleay32.dll instead of libcrypto.dll and libssl.dll that I don't have and for for which the compiler is looking for.
OpenSSL 应该在 MSYS Developer Tool Kit 中可用.
安装开发人员工具包后,只需运行:
mingw32-make mingw32-ssl-zlib
Mingw 应该可以找到它们,因为它们位于众所周知的位置,而不需要 OPENSSL_PATH=D:/Programy/MinGW/OpenSSL
。
只是bike shedding : 你可能应该使用 no-zlib
(或任何选项),因为 compression can leak information .
关于windows - 在 Windows 上使用 OpenSSL 编译 cUrl,缺少 -lcrypto 和 -lssl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30027176/
尝试安装 Rserve 1.8.6 时出现错误。我可以从 CRAN 成功安装 1.7.3。这是在 Mac OS High Sierra 上。 ld: library not found for -l
我用自制软件安装了 crystal brew install crystal-lang。我能够编译并运行“Hello World!”程序,但是当我尝试编译示例 http 服务器(稍作修改)时,出现错误
我用自制软件 brew install crystal-lang 安装了 crystal。我能够编译并运行“Hello World!”程序,但是当我尝试编译示例 http 服务器(稍作修改)时,出现错
我正在尝试在我的服务器上安装一个脚本。但它并没有在最后一步完成工作。 ./make.sh /usr/bin/ld: cannot find -lssl collect2: ld returned 1
我正在尝试使用 python 3 在 OSX high sierra 上的 virtrualenv 中安装 mysqlclient。出现以下错误: Failed building wheel fo
我刚刚启动了一个全新的 Crystal 应用程序,添加了 Kemal,并且在构建“Hello World!”时Kemal 文档中的应用程序,我得到: $ crystal build --release
我正在努力在系统范围内或在安装了 MariaDB 10 的 Ubuntu 14.04 上的 venv 中安装 mysql-python pip。还尝试使用 MariaDB 5.5 并得到相同的错误。我
Rust 和 Cargo 从 2014 年 12 月 30 日开始。海湾合作委员会 4.8.3。 我在项目目录中的 cargo run 上收到以下消息。 error: linking with `gc
我跑 sudo pip install psycopg2 我得到一堆看起来像这样的输出: cc -DNDEBUG -g -fwrapv -Os ..... ..... cc -DNDEBUG -g -
添加链接选项:-lssl 和 -lcrypto 后,我的程序已正确编译。但是我发现GCC不包含这两个选项,那么这些选项从哪里来呢? 最佳答案 GCC documentation告诉我们 -l 是链接库
我在安装 mysql-python 时遇到问题。创建了一个新的 virtualenv 并在安装 mysql-python 时...这是错误消息: (env)$ pip install mysql-py
我将项目 Gemfile 中的 mysql2 版本从 0.3.20 更改为 0.5.2。当我运行 bundle update mysql2 时,出现以下错误: Fetching mysql2 0.5.
我关注了 tutorial使用 C++ 连接到 DolphinDB 服务器并在编译 main.cpp 时遇到此错误消息: $ g++ main.cpp -std=c++11 -DLINUX -DL
我正在努力在系统范围内或在安装了 MariaDB 10 的 Ubuntu 14.04 上的 venv 中安装 mysql-python pip。还尝试使用 MariaDB 5.5 并得到相同的错误。安
我在我的 MacOS 上运行 mysql@8.x 版本,我已经用 brew 安装了 mysql 和 mysql-connector-o。目前 brew 链接与 mysql。 在我的 python3 虚
关闭。这个问题需要details or clarity .它目前不接受答案。 想改进这个问题吗? 通过 editing this post 添加细节并澄清问题. 关闭 9 年前。 Improve t
尝试 openssl 的 c 代码,在命令提示符下编译时出现此错误。 c:\openssl>gcc -lssl -lcrypto -o test test.c -IC:\openssl\include
当我使用此命令在 PyCharm 终端中安装 psycopg2 时: pip3 install psycopg2 显示错误: clang -Wno-unused-result -Wsign-compa
我正在尝试使用 Xcode v 5.0 和已安装的开发人员在 OS X 10.8 上安装 saltstack。工具,遵循此 tutorial . 使用 pip install salt 安装出现以下错
我尝试在我的应用程序项目中使用 libcurl.a 库。我已将该库添加到框架列表中,现在我想从该库中调用一些 header 。标题是: #include "curl.h" #include "type
我是一名优秀的程序员,十分优秀!