c++ - 在 CMake Env 中包含 libcurl

标签 c++ c

我使用 Cmake 构建环境,它生成 Make 文件。我想包含 libcurl 库,因为我收到 curl API 的链接错误。在哪里包含用于静态链接的 libcurl 库。


构建错误日志:

Linking C executable lwm2mclient
CMakeFiles/lwm2mclient.dir/core/objects.c.o: In function 'lwm2m_imp_actuate1':
objects.c:(.text+0x95): undefined reference to 'curl_global_init'
objects.c:(.text+0x9a): undefined reference to 'curl_easy_init'
objects.c:(.text+0xbd): undefined reference to 'curl_easy_setopt'
objects.c:(.text+0xd5): undefined reference to 'curl_easy_setopt'
objects.c:(.text+0xde): undefined reference to 'curl_easy_perform'
objects.c:(.text+0xef): undefined reference to 'curl_easy_strerror'
objects.c:(.text+0x111): undefined reference to 'curl_easy_cleanup'
objects.c:(.text+0x116): undefined reference to 'curl_global_cleanup'
collect2: ld returned 1 exit status

make[2]: *** [lwm2mclient] Error 1
make[1]: *** [CMakeFiles/lwm2mclient.dir/all] Error 2

最佳答案

在你的 cmake 文件(CMakelists.txt)中,你必须添加一个 link_directories,例如:

link_directories(your_libfile_directory)
add_executable(executable_name  file_c_cpp)
target_link_libraries(executable_name curl)

更多详情:http://www.cmake.org/cmake-tutorial/

关于c++ - 在 CMake Env 中包含 libcurl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30206522/

相关文章:

c++ - 连接组件计数

c - 类型转换结构以获得单独的字段地址

c - for循环永远不会在c中结束

c - 如何解决编译错误: warning "Files using this header must be compiled with _SVID_SOURCE or _XOPEN_SOURCE"

c++ - 如何一般地获取 ar 的所有 .o 文件

C++ 友元 vs 公共(public)

c++ - Visual Studio LNK2019 中的链接对象文件

c++ - 在过去的十年中,C++ 发生了怎样的变化?

c++ - && 的优先级高于 ||

c - 为什么我们在C中包含头文件