clion找不到dll,错误提示 (0xC0000135)

IDE: Clion
编译器: Mingw
main.cpp代码:

#include <curl/curl.h>  
#include <iostream>  
  
int main() {  
    std::cout << "Hello, World!" << std::endl;  
    CURL *curl = curl_easy_init();  
    if (curl)  
        std::cout << "curl inited...\n";  
    return 0;  
}

CMakeLists.txt内容:

cmake_minimum_required(VERSION 3.15)  
project(LibcurlTest)  
  
set(CMAKE_CXX_STANDARD 17)  
include_directories("E:/cpplibs/curl-7.67.0-win64-mingw/include")  
add_executable(LibcurlTest main.cpp)  
target_link_libraries(LibcurlTest "E:/cpplibs/curl-7.67.0-win64-mingw/lib/libcurl.dll.a")

最后将libcurl-x64.dll复制到执行目录(编译生成的exe所在的目录),但是执行代码提示:

Process finished with exit code -1073741515 (0xC0000135)
阅读 11.1k
3 个回答

同样的问题,Influxdb只支持curl摸索了老半天。

libcurl有两个版本,libcurl.dll是32位,libcurl-x64.dll是64位。

32位需要libcrypto-1_1.dll和libssl-1_1.dll,从qt5.14.1文件夹里找到这两个dll拷贝过来即可。(路径Qt5.14.1\Tools\QtCreator\bin)

64位需要libcrypto-1_1-x64.dll和libssl-1_1-x64.dll,从mysql文件夹里找到对应dll即可。(路径:mysql-8.0.19\bin)

将include/curl文件夹拷贝到项目include下,libcurl.dll/libcurl-x64.dll和对应dll丢在lib文件夹下,相关的CMakeLists语句如下:

include_directories(include)
link_directories(lib)
target_link_libraries(EMS libcurl-x64.dll)

另:所用的测试代码是
https://github.com/mike-zhang...

E:/cpplibs/curl-7.67.0-win64-mingw/lib/libcurl.dll.a

对应的应该是 libcurl.dll

不需要重命名,libcurl-x64.dll是对的。是因为libcurl-x64.dll依赖openssl而你没有安装

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题