ubuntu 上 libpq 标头的“标准”位置?

Posted

技术标签:

【中文标题】ubuntu 上 libpq 标头的“标准”位置?【英文标题】:A "standard" location for libpq headers on ubuntu? 【发布时间】:2014-07-28 08:38:04 【问题描述】:

我已经使用apt-get install libpq-dev 在 ubuntu 上安装了 libpq-dev。我看到它的头文件(例如 libpq-fe.h)在 /usr/include/postgresql 中。

现在当我使用 gcc-4.8 编译一个显示"#include <libpq-fe.h> 的程序(这是 libpq doco 推荐的)时,它找不到头文件。

现在我知道我可以通过 (a) 将标头移动到编译器期望它们的位置或 (b) 告诉编译器在哪里找到它们来解决这个问题。但我写的是开源软件,我想尽量减少用户的负担。我希望如果他们以标准方式安装 libpq,那么编译器就会知道如何找到它的头文件。还是我在做梦?

【问题讨论】:

【参考方案1】:

有两种“正确”的方法可以找到 Pg 标头:

使用pg_config 二进制告诉你它们在哪里;或 使用pkg_config

前者是 PostgreSQL 特有的但可移植的。后者需要pkg_config,它主要出现在类似 Linux 的平台上,但不太特定于 Pg。

【讨论】:

以上是关于ubuntu 上 libpq 标头的“标准”位置?的主要内容,如果未能解决你的问题,请参考以下文章

Windows 上的 libpq 速度

libpq VS qpsql(postgre 的 QT 驱动程序)

在 Mac OS X 上安装 libpq-dev

标头位置相对路径兼容性

如果我在使用 cors 时添加标准 http 标头,为啥会预检请求?

我在哪里可以获得 libpq 源?