首页 > 解决方案 > 将静态库 czmq 添加到 C 项目 (CMake)

问题描述

我正在使用 ZeroMQ 库用 C 语言编写一个项目。我需要使用静态库。CMakeLists.txt:

cmake_minimum_required(VERSION 3.17)

project(client C CXX)

set(CMAKE_C_STANDARD 99)

find_library(czmq_location NAMES libczmq.a)
message(STATUS ${czmq_location})

add_library(czmq STATIC IMPORTED)
set_target_properties(czmq PROPERTIES IMPORTED_LOCATION ${czmq_location})

add_executable(client client.c ft_lib_c/clib.c ft_lib_c/clib.h ft_lib_c/itoa.c ft_lib_c/itoa.h)

target_link_libraries(client czmq  )

但是,在构建时,我收到很多错误-_-:

CMakeFiles/client.dir/client.c.o: In function `main':
/home/neleps/MMS_radar_projects/master/client/client.c:18: undefined reference to `zmq_ctx_new'
/home/neleps/MMS_radar_projects/master/client/client.c:20: undefined reference to `zmq_socket'
/home/neleps/MMS_radar_projects/master/client/client.c:22: undefined reference to `zmq_connect'
....

也就是说,库中的函数是不可见的。我究竟做错了什么?

预先感谢您的帮助 :)

标签: ccmakezeromqczmq

解决方案


推荐阅读