Cassandra CPP 驱动程序

hij*_*l14 0 c++ linux installation ubuntu cassandra

确实是基本问题。我正在尝试在我的 Ubuntu 16.0.4 计算机上安装 Datastax Cassandra C++ 驱动程序。这确实不应该那么困难。我已使用 dpkg 安装了所有依赖项并安装了 cassandra 驱动程序 deb 文件。但我找不到(或#include)cassandra.h 文件。跑步

$ locate cassandra.h
Run Code Online (Sandbox Code Playgroud)

不返回任何内容并运行

$ locate cassandra*
Run Code Online (Sandbox Code Playgroud)

从 cqlsh、casssandra 配置文件等返回一大堆文件,但没有 cpp 驱动程序的头文件。此外,cassandra-cpp-driver 不会出现在 dpkg -l 中(尽管 apt-get 和 dpkg -i 表示它已安装)。

任何安装此程序的帮助将不胜感激。

Tar*_*dis 5

Ubuntu 官方存储库当前无法提供适用于 Apache Cassandra 的 DataStax C/C++ 驱动程序。

.debgithub 存储库上的 DataStax 项目文档中所述,可以datastax/cpp-driver从以下位置获取适用于 Ubuntu 的软件包:

http://downloads.datastax.com/cpp-driver/

如果您使用的是 Ubuntu 16.04,最后.deb可用的版本位于ubuntu/16.04/cassandra/v2.7.0/.

cassandra.h您将在其中找到该文件cassandra-cpp-driver-dev_2.7.0-1_amd64.deb,您需要使用 来下载并安装该文件dpkg

Debian 或 Ubuntu 软件包中的后缀dev表示用于开发程序的软件包,特别是包含头文件

dpkg -i cassandra-cpp-driver-dev_2.7.0-1_amd64.deb
Run Code Online (Sandbox Code Playgroud)

标头将安装在 Linux 下编译器应该毫无问题地找到的标头文件的常用位置:/usr/include/cassandra.h

它还将安装:

/usr/lib/x86_64-linux-gnu/libcassandra_static.a
/usr/lib/x86_64-linux-gnu/pkgconfig/cassandra.pc
/usr/lib/x86_64-linux-gnu/pkgconfig/cassandra_static.pc
/usr/share/doc/cassandra-cpp-driver-dev/changelog.Debian.gz
/usr/share/doc/cassandra-cpp-driver-dev/copyright
Run Code Online (Sandbox Code Playgroud)

静态链接和 pkgconfig 正常工作都需要它。

您可能安装的内容cassandra-cpp-driver_2.7.0-1_amd64.deb包含libcassandra.so.2.7.0共享对象(动态)库二进制文件,..尽管您安装的任何内容确实应该出现在查询结果中,dkpg -l例如:

dpkg -l | grep cassandra
Run Code Online (Sandbox Code Playgroud)

如果您从非官方来源安装了任何内容,我建议您先卸载这些内容,然后.deb从官方来源安装为您的平台提供的内容。

按照文档的说明使用该库制作您的第一个程序。