无法使用libcurl库编译C ++程序

时间:2019-03-23 22:13:16

标签: c++ libcurl

我正在使用编译器MinGW64和Clion开发人员。

我做了什么:

1)从“ https://curl.haxx.se/download.html”下载了curl-7.64.0.tar.gz

2)通过cmd编译的库-> curl-7.64.0 root->'mingw32-make make'

3)成功完成后,我将标头放在MinGW的include文件夹,libcurl.a和libcurldll.a的MinGW的lib文件夹中。

4)然后我尝试了在Clion中使用CMake设置的简单libcurl代码,如下所示:

cmake_minimum_required(VERSION 3.12)
add_executable(test main.cpp)
target_link_libraries(test libcurl.a libcurldll.a)

和我的main.cpp代码如下:

#include <curl/curl.h>
#include <string>

int main()
{
    auto curl = curl_easy_init();
}

当我编译它时,出现错误“处理结束,退出代码为-1073741515(0xC0000135)”。

有人可以告诉哪里有问题吗?

1 个答案:

答案 0 :(得分:1)

您必须将-lcurl放入mingw参数列表中。

您这样做吗?

  

确保MinGW32的bin目录位于搜索路径中,例如:

set PATH=c:\mingw32\bin;%PATH%
     

然后在根目录中运行mingw32-make mingw32。还有其他可用于构建具有更多功能的libcurl的目标,请使用:

mingw32-make mingw32-zlib to build with Zlib support;
mingw32-make mingw32-ssl-zlib to build with SSL and Zlib enabled;
mingw32-make mingw32-ssh2-ssl-zlib to build with SSH2, SSL, Zlib;
mingw32-make mingw32-ssh2-ssl-sspi-zlib to build with SSH2, SSL, Zlib and SSPI support.
     

如果在链接库或查找头文件时遇到任何问题,请确保验证所提供的“ Makefile.m32”文件使用正确的路径,并根据需要进行调整。也可以使用环境变量覆盖这些路径,例如:

set ZLIB_PATH=c:\zlib-1.2.8
set OPENSSL_PATH=c:\openssl-1.0.2c
set LIBSSH2_PATH=c:\libssh2-1.6.0
     

还可以使用MS LDAP以外的其他LDAP SDK进行构建;当前,可以使用本机Win32 OpenLDAP或Novell CLDAP SDK进行构建。如果要使用这些变量,则需要设置以下变量:

set LDAP_SDK=c:\openldap
set USE_LDAP_OPENLDAP=1
     

或使用Novell SDK:

set USE_LDAP_NOVELL=1
     

如果要启用LDAPS支持,请设置LDAPS = 1

https://curl.haxx.se/docs/install.html