CMake未找到librdkafka

问题描述 投票:3回答:1

我试图在使用CMake构建的项目中使用Kafka。

我已安装librdkafka-dev(版本0.8.6-1.1)。

我也尝试过从Git下载该项目并手动构建它,似乎很成功。

我注意到librdkafka / packaging / cmake中的README.md文件,并按照其说明在目录中成功创建了librdkafka的CMake构建。

在我的项目中运行'cmake'命令会导致以下错误:

CMake Error at CMakeLists.txt:8 (find_package):
  By not providing "Findlibrdkafka.cmake" in CMAKE_MODULE_PATH this project
  has asked CMake to find a package configuration file provided by
  "librdkafka", but CMake did not find one.

  Could not find a package configuration file provided by "librdkafka" with
  any of the following names:

    librdkafkaConfig.cmake
    librdkafka-config.cmake

  Add the installation prefix of "librdkafka" to CMAKE_PREFIX_PATH or set
  "librdkafka_DIR" to a directory containing one of the above files.  If
  "librdkafka" provides a separate development package or SDK, be sure it has
  been installed.

[librdkafka可能只是在CMakeLists.txt文件中寻找rdkafka的错误软件包名称,但是我没有找到如何在不使用Cppkafka包装器的情况下将其添加到CMake的方法。

所以我尝试下载并构建Cppkafka(在其目录的文件夹中运行cmake ..,它导致以下错误:

-- Build will generate a shared library. Use CPPKAFKA_BUILD_SHARED=0 to perform a static build
-- RdKafkaConfig.cmake not found. Attempting to find module instead...
-- Could NOT find RDKAFKA (missing: RdKafka_LIBRARY_DIR) 
-- Found valid rdkafka version
-- RdKafka module found.
-- Disabling tests because submodule Catch2 isn't checked out
-- Configuring done
CMake Error in src/CMakeLists.txt:
  Target "RdKafka::rdkafka" contains relative path in its
  INTERFACE_LINK_DIRECTORIES:

    "RdKafka_LIBRARY_DIR-NOTFOUND"

谢谢您的帮助!

c++ cmake librdkafka
1个回答
0
投票

这解决了自己。显然,这是CppKafka库的错误,并且已经由开发人员解决。

© www.soinside.com 2019 - 2024. All rights reserved.