I am trying to write a base type for PostgreSQL in C (using xcode), and I already installed PostgreSQL 11, but it seems that postgres.h
cannot be simply included in the file ("'postgres.h' file not found").
Could someone tell me how to fix that problem? And can I write code under an arbitary directory, or do I have to write under the PostgreSQL directory?
Or perhaps the question should be: how to install header files like postgres.h
?
Install postgresql-server-dev package with this command:
sudo apt install postgresql-server-dev-XX
Replace [XX] with your already installed version of postgresql:9.5, 10, 11, 12
You have several approaches here:
Search for the file yourself, using some command like
find / -name "postgres.h" -print
this will tell you (on my Mac does) the file is in:
/usr/local/Cellar/postgresql/11.2_1/include/server/postgres.h
and add the -I /usr/local/Cellar/postgresql/11.2_1/include/server
option to the compiler. Check your postgresql version for the possibility of having a different one.
Probably there's another package for database development. Search for a package named postgresql-dev
or similar, and install it. After searching packages with:
brew search postgres
and
brew search psql
on my system doesn't appear anything that matches.
I've checked a FreeBSD system for that file and it appears on
/usr/local/include/postgresql/server/postgres.h
So probably you have to #include <server/postgres.h>
instead, and use the appropiate -I
flag (as mentioned above)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With