FindODBC

添加于版本 3.12。

查找开放数据库互连 (ODBC) 头文件目录和库。

在 Windows 上,当使用 Visual Studio 构建时,此模块假定 ODBC 库由可用的 Windows SDK 提供。

在 Unix 上,此模块允许搜索由 unixODBC 或 iODBC 实现的 ODBC API 提供的 ODBC 库。此模块读取关于配置程序位置的提示

ODBC_CONFIG

odbc_config 或 iodbc-config 程序的位置

否则,此模块尝试查找配置程序,首先从 unixODBC,然后从 iODBC。如果未找到配置程序,此模块将在已知位置列表中搜索 ODBC 头文件和库。

导入目标

此模块定义以下 IMPORTED 目标

ODBC::ODBC

用于使用 ODBC 库的导入目标(如果找到)。

结果变量

ODBC_FOUND

如果找到 ODBC 库,则设置为 true,否则为 false 或未定义。

ODBC_INCLUDE_DIRS

ODBC 客户端使用的包含目录路径,列在一个变量中。在 Windows 上可能为空,因为与预期 Windows SDK 对应的包含目录已在编译环境中可用。

ODBC_LIBRARIES

要链接以使用 ODBC 的库的路径。在 Windows 上可能只是一个库名称,因为与预期 Windows SDK 对应的库目录已在编译环境中可用。

ODBC_CONFIG

unixODBC 或 iODBC 配置程序的路径(如果找到或指定)。

缓存变量

对于希望编辑和控制模块行为的用户,此模块从以下变量中读取关于搜索位置的提示

ODBC_INCLUDE_DIR

包含 sql.h 头文件的 ODBC 包含目录的路径。

ODBC_LIBRARY

要链接的 ODBC 库的路径。

这些变量不应由项目代码直接使用。

局限性

在 Windows 上,此模块不搜索 iODBC。在 Unix 上,除了使用 ODBC_CONFIG 提供配置程序位置外,没有办法优先选择 unixODBC 而不是 iODBC,反之亦然。此模块不允许搜索特定的 ODBC 驱动程序。