设置 C++ SDK
Vertica C++ 软件开发工具包 (SDK) 将作为服务器安装的一部分分发。它包含创建 UDx 库所需的源文件和头文件。有关可以编译和运行的示例,请参阅下载并运行 UDx 示例代码。
要求
至少需要在开发计算机上安装下列资源:
-
devtoolset-7 包 (CentOS) 或 GCC-7 包 (Debian),包括
gcc
版本 7 和最新的libstdc++
包。 -
g++
及其关联的工具链,例如ld
。有些 Linux 分发将g++
和gcc
分开打包。 -
Vertica SDK 的副本。
注意
可以使用安装在受支持 Linux 平台上的默认g++
版本来编译 Vertica 二进制文件。
您必须使用标记 -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
注意
要编译示例,必须已安装 g++ 开发环境。要在 Red Hat 系统上安装 g++ 开发环境,请运行yum install gcc gcc-c++ make.