在CLion/Mingw上对"curl_easy_init"的未定义引用
undefined reference to `curl_easy_init' on CLion/Mingw
我正在尝试在C 代码中使用卷曲。我应该如何正确地做?
我粘贴了libcurl.a&libcurl.dll.a在此目录中:C: Program Files Mingw-W64 x86_64-8.1.0-posix-seh-seh-rt_v6-rev0 mingw64 lib
这是我的cmakelists.txt,来自clion/mingw
cmake_minimum_required(VERSION 3.3)
project(tan)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -lcurl.dll")
add_executable(tan Tan/mail.cpp)
project(untitled6)
当我添加" #define curl_staticlib"时,我会得到以下错误:
reference to `curl_easy_init'
C:/Users/John/CLionProjects/tan/Tan/mail.cpp:84: undefined
reference to `curl_easy_setopt'
C:/Users/John/CLionProjects/tan/Tan/mail.cpp:86: undefined reference to `curl_easy_setopt'
C:/Users/John/CLionProjects/tan/Tan/mail.cpp:91: undefined reference to `curl_slist_append'
C:/Users/John/CLionProjects/tan/Tan/mail.cpp:92: undefined reference to `curl_slist_append'
C:/Users/John/CLionProjects/tan/Tan/mail.cpp:93: undefined reference to `curl_easy_setopt'
C:/Users/John/CLionProjects/tan/Tan/mail.cpp:98: undefined reference to `curl_easy_setopt'
C:/Users/John/CLionProjects/tan/Tan/mail.cpp:99: undefined reference to `curl_easy_setopt'
C:/Users/John/CLionProjects/tan/Tan/mail.cpp:100: undefined reference to `curl_easy_setopt'
C:/Users/John/CLionProjects/tan/Tan/mail.cpp:103: undefined reference to `curl_easy_perform'
C:/Users/John/CLionProjects/tan/Tan/mail.cpp:107: undefined reference to `curl_easy_strerror'
C:/Users/John/CLionProjects/tan/Tan/mail.cpp:111: undefined reference to `curl_slist_free_all'
C:/Users/John/CLionProjects/tan/Tam/mail.cpp:121: undefined reference to ````curl_easy_cleanup
Without "#define CURL_STATICLIB" i get these errors:
CMakeFilestan.dir/objects.a(mail.cpp.obj): In function `main':
C:/Users/John/CLionProjects/tan/Tan/mail.cpp:81: undefined reference to `__imp_curl_easy_init'
C:/Users/John/CLionProjects/tan/Tan/mail.cpp:84: undefined reference to `__imp_curl_easy_setopt'
C:/Users/John/CLionProjects/tan/Tan/mail.cpp:86: undefined reference to `__imp_curl_easy_setopt'
C:/Users/John/CLionProjects/tan/Tan/mail.cpp:91: undefined reference to `__imp_curl_slist_append'
C:/Users/John/CLionProjects/tan/Tan/mail.cpp:92: undefined reference to `__imp_curl_slist_append'
C:/Users/John/CLionProjects/tan/Tan/mail.cpp:93: undefined reference to `__imp_curl_easy_setopt'
C:/Users/John/CLionProjects/tan/Tan/mail.cpp:98: undefined reference to `__imp_curl_easy_setopt'
C:/Users/John/CLionProjects/tan/Tan/mail.cpp:99: undefined reference to `__imp_curl_easy_setopt'
C:/Users/John/CLionProjects/tan/Tan/mail.cpp:100: undefined reference to `__imp_curl_easy_setopt'
C:/Users/John/CLionProjects/tan/Tan/mail.cpp:103: undefined reference to `__imp_curl_easy_perform'
C:/Users/John/CLionProjects/tan/Tan/mail.cpp:107: undefined reference to `__imp_curl_easy_strerror'
C:/Users/John/CLionProjects/tan/Tan/mail.cpp:111: undefined reference to `__imp_curl_slist_free_all'
C:/Users/John/CLionProjects/tan/Tan/mail.cpp:121: undefined reference to `__imp_curl_easy_cleanup'
如果有人来看,请在CMakeLists.txt
中使用此。最后一行解决了问题。
step1: Copy libcurl.dll.a in C:/curl.
No need to copy "libcurl.a" OR "libcurl.dll.a" at any other place.
No need for #define CURL_STATICLIB in main.cpp file
step2:Edit the CMakeLists.txt
如下。
set(CMAKE_CXX_STANDARD 14)
add_executable(tan Tan/mail.cpp)
project(untitled6)
target_link_libraries(tan "C:/curl/libcurl.dll.a")
step3:如果您的程序快速闪烁并关闭。您可能会缺少一些DLL文件。要检查您缺少哪些内容,请使用CMD运行程序(在我的情况下(。从curl软件包(在我的情况下,curl-7.65.0-win64-mingw(取DLL,然后将其放在可执行文件的侧面。确保用同一编译器对卷发和可执行文件进行编译。就我而言,它是mingw。
相关文章:
- GCC对可能有效的代码抛出init list生存期警告
- GLEW/GLUT:调用init并创建一个窗口后,取消初始化并重新初始化?
- 将 out/in out 参数与 if/switch 的 init 语句一起使用
- 使用 std::ios_base::Init 正确初始化全局变量
- Pybind11: init<> with lambda
- 为什么别名声明不是有效的 init 语句(/simple-declaration)?
- 结构 init:字符**类型的标量初始值设定项两边的大括号
- 为什么基于范围类型的大括号上循环init列表是非法的c++
- 是否可以使用"if constexpr"来声明具有不同类型和init-expr的变量
- Android Studio TextView Init C++
- Pc Lint,如何使用 init() 抑制类的 err 613(可能使用空 ponter)
- 带有定制 GLFW 二进制 /usr/bin/ld 的 Centos 7: /usr/local/lib/libglfw3.a(init.c.o):".text"部分中无法识别的重定位 (0x2a)
- 如何强制调用类的全局实例的析构函数和构造函数(以便"re-init"类实例)
- 当调用时,为什么ranges ::累积的init as std :: Move(init)
- clang tidy pro type member init resharper
- Android NDK 未定义对 'std::ios_base::Init::Init()' 的引用
- 使用 Git init、fetch 和 checkout 克隆 Git 存储库
- QFILE INIT/分配OP问题当对象是类成员时
- 仅第一个元素init为1
- 如何在CPP中声明Array和Init