制作一个连接到 PostgreSQL 数据库的标头我将 libpq 函数封装到我自己的函数中,但是在其中一个函数中,它应该返回一个 PGconn 类型的指针,我得到一个类型的错误......
ConexionPostgres.c:32:6: aviso: la asignación crea un puntero desde un entero sin una conversión [activado por defecto]
/tmp/ccCeaewL.o: In function
main ':
ConexionPostgres.c:
( .text+0x86
): undefined reference to
设置BD'
我认为这是因为原型所以我更改了原型并将定义直接放在 main 之前但什么都没有......有人能告诉我发生了什么吗?
我正在检查 Postgres libpq 文档和 libpq-fe.h 直接查看原型,所以我没有遗漏任何东西,但我很困惑。这是我的代码:
PGconn *setDB(char *conninfo)
{
PGconn *db;
db = PQconnectdb(conninfo);
if(!db)
printf("Error en conexion a la BD");
if(PQstatus(db) != CONNECTION_OK)
{
printf( "%s\n", PQerrorMessage(db));
}
else
{
return db;
}
}
int main()
{
const char *conninfo = "dbname='database' host='somehost' user='me' password='somepass'";
//char *query = "INSERT INTO productos VALUES ('1','5','235')";
PGconn *con;
con = setBD(conninfo); /* --> Here's apparently the problem */
PQfinish(con);
exit(0);
}