我正在使用 Drogon 框架和 Neon 数据库 (PostgreSQL) 开发一个 C++ 项目,并且我正在使用 CMake 配置我的项目。但是,当我尝试运行我的项目时,我收到一条错误,指示 Drogon 不支持或未找到 PostgreSQL 开发库。 C++代码:
drogon::app().createDbClient("postgresql", // type
"[neon url...]", // host
5432, // port
"[dbname]", // dbname
"users_owner", // user
"[password-placeholder]", // passwd
5); // connNum
Cmake:
# use cmake -S . -B build
cmake_minimum_required(VERSION 3.27)
project(PatrolSystem)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_C_COMPILER "/usr/bin/clang")
set(CMAKE_CXX_COMPILER "/usr/bin/clang++")
find_package(PostgreSQL REQUIRED)
find_package(Drogon REQUIRED)
add_executable(untitled main.cpp
# ... other source files ...
)
# Link the necessary libraries
target_link_libraries(untitled PostgreSQL::PostgreSQL Drogon::Drogon)
错误信息: drogon 不支持 PostgreSQL,请先安装开发库。
我已验证 PostgreSQL 已安装在我的系统上,并且我已尝试重新安装 PostgreSQL 开发库。尽管如此,问题仍然存在。
更新:我可以通过 CLI 访问数据库
我可以采取哪些步骤来解决此错误并确保成功构建? 任何见解或建议将不胜感激。
在构建程序之前需要安装PG开发库
PostgreSQL's native C library libpq needs to be installed. The installation is as follows:
ubuntu 16: sudo apt-get install postgresql-server-dev-all
ubuntu 18: sudo apt-get install postgresql-all
centOS 7: yum install postgresql-devel
MacOS: brew install postgresql
Windows conanfile: libpq/13.4