我想(在Windows上)用C编写一个与postgres数据库连接的程序。
首先,我在3行中
#include <libpq-fe.h>
但后来我得到一个错误
... main.c|3|fatal error: libpq-fe.h: No such file or directory
所以我改变了3行
#include "C:/Program Files/PostgreSQL/9.6/include/libpq-fe.h"
但我仍然得到一个错误
ld.exe||cannot find -lpq-fe.h|
有任何想法吗?
#include <stdio.h>
#include <stdlib.h>
#include "C:/Program Files/PostgreSQL/9.6/include/libpq-fe.h"
#include <string.h>
int main()
{
PGresult *result;
PGconn *conn;
conn = PQconnectdb("host=localhost port=5432 dbname=mydb
user=postgres password=mypassword");
if(PQstatus(conn) == CONNECTION_OK) {
printf("connection made\n");
}
else
printf("connection failed: %s\n", PQerrorMessage(conn));
PQfinish(conn);
return 0;
}
最佳答案
您无需将路径添加到include指令,即坚持使用
#include <libpq-fe.h>
您将文件的路径指定为编译器的包含目录。
如何执行取决于您使用的编译器。
使用Microsoft Visual C,您可以使用以下命令调用
cl
cl /I C:/Program Files/PostgreSQL/9.6/include ...
使用MinGW和
gcc
,您可以编写gcc -L C:/Program Files/PostgreSQL/9.6/include ...
关于c - C与PostgreSQL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42868156/