我正在尝试使用 curl 构建我的项目,但得到的结果是: 对 _imp__curl_easy_init 的 undefined reference
这是我的 CMakeLists:
cmake_minimum_required(VERSION 2.8)
project(score)
set(SOURCE_FILES main.cpp)
add_executable(score ${SOURCE_FILES})
add_library(libcurl STATIC IMPORTED)
set_property(TARGET libcurl PROPERTY IMPORTED_LOCATION "c:/MinGW/lib")
SET(GCC_COVERAGE_LINK_FLAGS "-lcurl")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
SET( CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${GCC_COVERAGE_LINK_FLAGS}" )
此外,我将我的文件 libcurl.a 等...放在正确的目录“c:/MinGW/lib”中。
你能帮帮我吗?
最佳答案
您可能需要使用定义的 CURL_STATICLIB
宏来编译调用 curl 函数的源文件。
您有权访问 curl-config 实用程序吗?当您从源代码构建 curl 时,它就在那里。使用 --cflags
选项运行它以获取所需的编译器标志,并使用 --libs
选项运行它以获取链接器要求。
例如,在我的 mingw 环境中,报告的 cflags 是 -DCURL_STATICLIB -I/mingw/local/include
报告的 lib flags 是 -L/mingw/local/lib - lcurl -lssl -lcrypto -lgdi32 -lwldap32 -lz -lws2_32
.
关于c++ - libcurl 与 mingw 和 clion 的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29015169/