postgresql example.c:1:22:fatal error:postgres.h:No such file or directory

a0zr77ik  于 2023-11-18  发布在  PostgreSQL
关注(0)|答案(2)|浏览(282)

我试图在postgres中创建自己的函数(使用C),为此我引用了此文档:http://www.linuxgazette.cz/139/peterson.html
对于编译-我指的是:第33.9.6节。但是,当我运行下面的命令:

cc -fpic -c example.c

字符串
我得到这个错误:

example.c:1:22: fatal error: postgres.h: No such file or directory
 #include "postgres.h"
                  ^
compilation terminated.


我还安装了postgresql-server-dev-all包,并尝试使用此链接中提供的解决方案:How to fix 'postgres.h' file not found problem?
没有什么对我有用的。请让我知道如何才能有postgres.h文件。我在centos-7上使用postgres-12。

eni9jsuy

eni9jsuy1#

对于Ubuntu:apt-get -y install postgresql-13之后的apt-get -y install postgresql-server-dev-13
或者更一般地说:

apt-get -y install postgresql-xx
apt-get -y install postgresql-server-dev-xx

字符串
其中xx是目标PostgreSQL版本。

fdbelqdn

fdbelqdn2#

首先:如果你没有从源代码安装PostgreSQL,请确保你安装了头文件,它们位于-devel包中。
如果即使安装了头文件,问题仍然存在,原因是您忘记告诉编译器在哪里查找头文件:

cc -fpic -I /location/of/postgres/include -c example.c

字符串
要找到该位置,可以使用pg_config

pg_config --includedir


有一个类似的--libdir选项,用于在链接可执行文件时显示库路径。

相关问题