构建依赖tirpc的RPC代码时,需查找哪个CMake包?
解决CMake中tirpc依赖查找问题
直接使用find_package(tirpc)会失败,因为官方未提供对应的CMake配置模块。你可以借助CMake的PkgConfig模块,利用已有的pkg-config信息来处理tirpc依赖,具体步骤如下:
- 启用PkgConfig模块:
find_package(PkgConfig REQUIRED)
- 通过pkg-config查找libtirpc库:
pkg_check_modules(TIRPC REQUIRED libtirpc)
- 配置编译和链接参数到你的目标程序:
add_executable(your_rpc_program your_rpc_code.c) target_include_directories(your_rpc_program PRIVATE ${TIRPC_INCLUDE_DIRS}) target_link_libraries(your_rpc_program PRIVATE ${TIRPC_LIBRARIES})
如果想要更贴合标准CMake目标的使用方式,也可以手动创建导入目标:
add_library(tirpc::tirpc UNKNOWN IMPORTED) set_target_properties(tirpc::tirpc PROPERTIES IMPORTED_LOCATION "${TIRPC_LIBRARIES}" INTERFACE_INCLUDE_DIRECTORIES "${TIRPC_INCLUDE_DIRS}" )
之后就可以通过以下方式链接:
target_link_libraries(your_rpc_program PRIVATE tirpc::tirpc)
内容的提问来源于stack exchange,提问作者einpoklum
相关产品推荐
相关产品推荐

