使用 Wt c++ 时找不到 Postgres 标头

Posted

技术标签:

【中文标题】使用 Wt c++ 时找不到 Postgres 标头【英文标题】:Cannot find Postgres header while working with Wt c++ 【发布时间】:2020-09-26 19:14:20 【问题描述】:

我目前正在开发Ubuntu 20.04,并且正在使用WebToolkit 构建一个Web 应用程序。我想使用 Postgresql 数据库来存储我的数据。我从源代码构建了Wt,遵循these steps。

不幸的是,当我在代码中包含头文件Wt/Dbo/backend/Postgres.h 时,我收到以下错误

cannot open source file Wt/Dbo/backend/Postgres.h

确实,Wt/Dbo/backend 目录只包含Sqlite3.hWDboSqlite3DllDefs.h

我该如何解决这个问题?

【问题讨论】:

那个不存在的头文件应该包含什么,应该由哪个软件提供? 【参考方案1】:

在从源代码构建 Wt 时,您似乎还没有构建 Postres 后端。这可能是由于以下原因之一:

使用CMake 配置Wt 时未检查ENABLE_POSTGRES 不满足某些external dependency,即Postgres。这应该在 cmake 输出中提及。可能需要在CMakePOSTGRES_PREFIX 变量中指定Postgres 目录。

请注意,sqlite3 是唯一不受外部依赖支持的后端。

请注意,其他数据库也应遵循相同的过程,例如mysql(或MariaDB)、Firebird、...

【讨论】:

以上是关于使用 Wt c++ 时找不到 Postgres 标头的主要内容,如果未能解决你的问题,请参考以下文章

在 Windows 上使用 MinGW 编译 C++ 时找不到 omp.h

C++ - 执行makefile时找不到目录

使用 qt 和 opengl 编译 c++ 项目时找不到标识符错误

使用 Visual C++ Express 2010 时找不到 atlbase.h

错误:在 Docker 中的 Alpine 上安装 psycopg2 时找不到 pg_config 可执行文件

在xcode中编译ios项目时找不到c++头文件