c++ - ubuntu 上 libpq header 的 "standard"位置?

标签 c++ postgresql ubuntu

我在 ubuntu 上安装了 libpq-dev apt-get install libpq-dev .我看到它的 header (例如 libpq-fe.h)在/usr/include/postgresql 中。

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

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

最佳答案

恰好有两种“正确”的方法来查找 Pg header :

  • 使用 pg_config 二进制文件告诉您它们在哪里;或
  • 使用 pkg_config

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

关于c++ - ubuntu 上 libpq header 的 "standard"位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24991326/

相关文章:

node.js - 在 pg-promise 中使用带有参数列表的 .batch

postgresql - 修改 COALESCE 函数以考虑结果的两个相邻值

python - 运行带有 pm2 错误的 python 脚本

c++ - 将多维 C 数组复制到 Matlab mxArray 类型

c++ - 如何初始化静态成员变量 "dynamically"?

c++ - 从在 "user"帐户下运行的服务调用 OpenWindowStation

ubuntu - 如何在 Ubuntu 上安装 Impala?

c++ - 初始化时返回一个指针? C++

postgresql - 如何使用 debezium 从 Postgres 流式传输更改

authentication - nfs 挂载认证失败