设置 C++ SDK

Vertica C++ 软件开发工具包 (SDK) 将作为服务器安装的一部分分发。它包含创建 UDx 库所需的源文件和头文件。有关可以编译和运行的示例,请参阅下载并运行 UDx 示例代码

要求

至少需要在开发计算机上安装下列资源:

  • devtoolset-7 包 (CentOS) 或 GCC-7 包 (Debian),包括 gcc 版本 7 和最新的 libstdc++ 包。

  • g++ 及其关联的工具链,例如 ld。有些 Linux 分发将 g++gcc 分开打包。

  • Vertica SDK 的副本。

您必须使用标记 -std=c++11 进行编译。Vertica SDK 会使用 C++ 11 的功能。

以下可选软件包可以简化开发:

  • make,或某些其他内部版本管理工具。

  • gdb,或某些其他调试器。

  • Valgrind 或可检测内存泄漏的类似工具。

如果要使用任何第三方库(例如统计分析库),您需要在开发计算机上安装这些库。如果不是静态地将这些库链接到 UDx 库,您必须在群集中的每个节点上安装这些库。有关详细信息,请参阅编译 C++ 库

SDK 文件

SDK 文件位于 Vertica 服务器根目录下的 sdk 子目录中(通常为 /opt/vertica/sdk)。此目录包含子目录 include,其中包含编译 UDx 库所需的头文件和源文件。

include 目录包含两个文件,在编译 UDx 时,需要使用这两个文件:

  • Vertica.h 是 SDK 的主要头文件。UDx 代码需要包含此文件才能查找 SDK 的定义。

  • Vertica.cpp 包含需要编译到 UDx 库中的支持代码。

VerticaUDx.h 头文件(包含在 Vertica.h 文件中)中定义了许多 Vertica SDK API。如果对此感到好奇,您可以检查此文件的内容并阅读 API 文件。

开发 UDx 时,计划使用的 SDK 版本必须与其所在的数据库版本相同。要显示当前安装在系统上的 SDK 版本,请在 vsql 中运行以下命令:

=> SELECT sdk_version();

运行示例

您可以从 GitHub 存储库下载示例(请参阅下载并运行 UDx 示例代码)。编译和运行示例有助于确保正确设置开发环境。

要编译所有示例(包括 Java 示例),请在示例目录下的 Java-and-C++ 目录中执行以下命令:

$ make