Code::Blocks Forums

User forums => Using Code::Blocks => Topic started by: gcclinux on September 22, 2020, 06:08:28 pm

Title: Compiling with libpq-fe.h
Post by: gcclinux on September 22, 2020, 06:08:28 pm
Hello,

I have now tried adding in link tab, directory search and everything I can think off but I can not get it to work in CodeBlocks...

Command line works:

$ gcc -o server_version server_version.c -I/usr/include/postgresql -L/usr/lib/postgresql/12/lib/ -lpq -std=c99

Error from Build Log in CodeBlocks :

-------------- Build: Release in postgresql (compiler: GNU GCC Compiler)---------------

gcc -Wall -I/usr/include/postgresql -I/usr/lib/postgresql/12/lib/ -c /home/ricardo/Programming/c/postgresql/server_version.c -o obj/Release/server_version.o
g++  -o bin/Release/postgresql obj/Release/server_version.o   
/home/ricardo/Programming/c/postgresql/server_version.c:3:22: fatal error: libpq-fe.h: No such file or directory
 #include <libpq-fe.h>
                      ^
compilation terminated.
Process terminated with status 1 (0 minute(s), 0 second(s))
1 error(s), 0 warning(s) (0 minute(s), 0 second(s))



Please can someone assist as I am trying postgresql for the first time and codeblocks is not helping me :-)
Title: Re: Compiling with libpq-fe.h
Post by: BlueHazzard on September 23, 2020, 09:29:37 am
Code
gcc -Wall -I/usr/include/postgresql -I/usr/lib/postgresql/12/lib/ -c /home/ricardo/Programming/c/postgresql/server_version.c -o obj/Release/server_version.o
g++  -o bin/Release/postgresql obj/Release/server_version.o   
/home/ricardo/Programming/c/postgresql/server_version.c:3:22: fatal error: libpq-fe.h: No such file or directory
 #include <libpq-fe.h>
Why is there a g++ ?
Are you mixing cpp and c files?
Are you using a project?
Title: Re: Compiling with libpq-fe.h
Post by: Miguel Gimenez on September 23, 2020, 10:27:33 am
Have you tested #include "libpq-fe.h" (with double quotes, not angle brackets)?

Also, in the command line that works you have
Code
-L/usr/lib/postgresql/12/lib/
but in the generated one you have
Code
-I/usr/lib/postgresql/12/lib/

This is because you put /usr/lib/postgresql/12/lib in the compiler search path, but it must go in the linker search path.