【问题标题】:Can't build libcUrl with OpenSSL无法使用 OpenSSL 构建 libcUrl
【发布时间】:2011-08-06 12:47:34
【问题描述】:

我正在使用 mingw。我从 Windows 的http://curl.haxx.se/download.html 链接下载了 OpenSSl 和 zlib。在所有 makefile32.m32 中更改 openSSl 和 Zlib 的路径。尝试使用 mingw32-make mingw32-ssl-zlib 构建,但是当我遇到错误时,我不明白为什么:(

错误是

c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw32/bin/ld.exe: cannot find -lssl32
collect2: ld returned 1 exit status
mingw32-make[1]: *** [libcurl.dll] Error 1
mingw32-make[1]: Leaving directory `c:/curl/lib'
mingw32-make: *** [mingw32-ssl] Error 2

我对 makefile 进行了更多更改。向 openSSl 库添加了写入路径。但我有两个库:libeay32.a 和 ssleay32.a。 makefile 中的选项是 curl_LDADD += -L$(OPENSSL_PATH)\lib\MinGW -leay32 -lssl32。当我将-lssl32更改为-lssleay32时,同样的错误是-找不到-lssleay32

【问题讨论】:

    标签: curl openssl mingw


    【解决方案1】:

    OpenSSL 与库命名不一致,具体取决于库的编译方式。它也咬过我一次。确保你有文件

    libeay.a
    libssl.a
    libz.a
    

    或命名makefile 期望。 lib 前缀在这里非常重要,否则你的链接器将找不到它。

    【讨论】:

    • 哦,一个文件中没有lib-prefix!它建成了。但是现在当我尝试运行程序时,我遇到了很多错误,例如 ..\lib\/libcurl.a(ssluse.o):(.text+0x121): undefined reference to
    • @Alecs:您可能正在静态链接您的应用程序,这意味着如果您链接您的 libcurl,您还需要链接它所依赖的所有库(在本例中为 OpenSSL 库)。
    • 我在这里描述了错误,你能看一下吗? stackoverflow.com/questions/6967729/how-to-use-curl-and-openssl
    猜你喜欢
    • 2020-03-22
    • 2018-06-19
    • 2019-10-13
    • 1970-01-01
    • 2011-05-14
    • 1970-01-01
    • 2017-05-23
    • 2017-08-30
    • 1970-01-01
    相关资源
    最近更新 更多