如何将curl(libcurl)添加到CLION中的C项目中?

如何将curl(libcurl)添加到CLION中的C项目中?,c,unix,curl,libcurl,clion,C,Unix,Curl,Libcurl,Clion,我必须制作一个Linux应用程序,在使用线程的同时从队列中打开网站,下载并将其作为文件存储在我的PC上。 我们得到了一个web_request.c和web_request.h类,它使用OPENSSL和CURL来完成任务,我们可以使用web_request.c中的函数来下载我们在队列中得到的站点。 我一直在尝试在curl之后编译,但到目前为止没有成功,我肯定需要一些帮助 My CMakeLists.txt: project(BS06 C) set(CMAKE_C_STANDARD 11) set

我必须制作一个Linux应用程序,在使用线程的同时从队列中打开网站,下载并将其作为文件存储在我的PC上。 我们得到了一个web_request.c和web_request.h类,它使用OPENSSL和CURL来完成任务,我们可以使用web_request.c中的函数来下载我们在队列中得到的站点。 我一直在尝试在curl之后编译,但到目前为止没有成功,我肯定需要一些帮助

My CMakeLists.txt:

project(BS06 C)

set(CMAKE_C_STANDARD 11)
set(CMAKE_C_FLAGS -lm -lssl -lcrypto -pthread -lcurl)

add_executable(BS06 main.c)
如何在main.c上包含web_request.h以使用其功能:

#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>
#include <values.h>
#include <string.h>
#include "include/web_request.h"
curl config--libs:

-lcurl

错误:

 [50%] Building C object CMakeFiles/BS06.dir/main.c.o
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/Scrt1.o: In function `_start':
(.text+0x20): undefined reference to `main'
collect2: error: ld returned 1 exit status
/bin/sh: 1: -lssl: not found
/bin/sh: 1: -lcrypto: not found
/bin/sh: 1: -pthread: not found
/bin/sh: 1: -lcurl: not found
CMakeFiles/BS06.dir/build.make:62: recipe for target 'CMakeFiles/BS06.dir/main.c.o' failed
make[3]: *** [CMakeFiles/BS06.dir/main.c.o] Error 127
CMakeFiles/Makefile2:75: recipe for target 'CMakeFiles/BS06.dir/all' failed
make[2]: *** [CMakeFiles/BS06.dir/all] Error 2
CMakeFiles/Makefile2:82: recipe for target 'CMakeFiles/BS06.dir/rule' failed
make[1]: *** [CMakeFiles/BS06.dir/rule] Error 2
Makefile:118: recipe for target 'BS06' failed
make: *** [BS06] Error 2

似乎需要将curl库与可执行文件链接起来。如果您重新编写CMakeList.txt,是否有帮助,如:

project(BS06 C)

set(CMAKE_C_STANDARD 11)
find_package(CURL REQUIRED) 

include_directories(${CURL_INCLUDE_DIR})
add_executable(BS06 main.c)
target_link_libraries(BS06 ${CURL_LIBRARIES})

似乎需要将curl库与可执行文件链接起来。如果您重新编写CMakeList.txt,是否有帮助,如:

project(BS06 C)

set(CMAKE_C_STANDARD 11)
find_package(CURL REQUIRED) 

include_directories(${CURL_INCLUDE_DIR})
add_executable(BS06 main.c)
target_link_libraries(BS06 ${CURL_LIBRARIES})
可能有关联?>>(.text+0x20):对“main”的未定义引用可能相关?>>(.text+0x20):对“main”的未定义引用
project(BS06 C)

set(CMAKE_C_STANDARD 11)
find_package(CURL REQUIRED) 

include_directories(${CURL_INCLUDE_DIR})
add_executable(BS06 main.c)
target_link_libraries(BS06 ${CURL_LIBRARIES})