Erro na lib libhbpg.lib
Enviado: 01 Jun 2010 09:07
Olá pessoal,
atualizei o xharbour e a minigui com as últimas versõoes existentes.
Criei normalmente os arquivos do sistema e libs.
Todavia, com relação a libhbpg.lib (Postgresql) alguma coisa deu errado.
Até a última versão, para compilar a lib eu fazia o seguinte:
1) Copiava a libpg.dll da pasta corresponde do Postgresql para a pasta correspondente do xharbour (xharbour\contrib\pgsql);
2) Criava a libpq.lib com importação usando o comando: implib libpq.lib libpq.dll;
3) Copiava a libpq.lib criada para o diretório corresponde no xharbour (xharbour\lib);
4) Editava o arquivo makefile.bc, alterando o valor da variável PG_DIR indicando o path do Postgresql (c:\PgSQL);
5) Excutava o arquivo make_b32.bat (isso criava e cria a libhbpg.lib);
6) Copiava todas as dll´s necessárias para conexão para pasta do aplicativo;
7) Pronto.
Entretanto, na compilação, o erro abaixo está sendo gerado
Borland Resource Compiler Version 5.40
Copyright (c) 1990, 1999 Inprise Corporation. All rights reserved.
C:\BCC55\BIN\ilink32 @makefile.lnk
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Error: Unresolved external '_PQconnectdb' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQsetdbLogin' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQfinish' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQreset' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQprotocolVersion' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQclientEncoding' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQsetClientEncoding' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQdb' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQuser' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQpass' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQhost' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQport' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQtty' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQoptions' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQclear' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQexec' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQexecParams' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQgetlength' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQftablecol' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQgetvalue' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQtransactionStatus' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQerrorMessage' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQstatus' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQresultErrorMessage' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQresultStatus' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQcmdStatus' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQcmdTuples' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQescapeString' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQescapeBytea' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQunescapeBytea' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQoidValue' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQoidStatus' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQbinaryTuples' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQftable' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQftype' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQfname' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQfmod' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQfsize' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQgetisnull' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQfnumber' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQntuples' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQnfields' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQsendQuery' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQgetResult' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQconsumeInput' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQisBusy' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQrequestCancel' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQflush' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQsetnonblocking' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQisnonblocking' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQtrace' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQuntrace' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQsetErrorVerbosity' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_lo_import' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_lo_export' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_lo_unlink' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQserverVersion' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQgetCancel' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQcancel' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQfreeCancel' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQescapeByteaConn' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQfreemem' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
O log do make_b32 indica o seguinte:
MAKE Version 5.2 Copyright (c) 1987, 2000 Borland
..\..\bin\harbour.exe TPostgres.prg -q0 -a -w -es2 -gc0 -n -i..\..\include -o..\..\obj\b32\TPostgres.c
bcc32 -c -O2 -I..\..\include -IC:\PgSQL\include -DHB_OS_WIN_32_USED -DPG_DIAG_INTERNAL_POSITION -o..\..\obj\b32\TPostgres.obj ..\..\obj\b32\TPostgres.c
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
..\..\obj\b32\TPostgres.c:
tlib ..\..\lib\b32\libhbpg.lib -+..\..\obj\b32\TPostgres.obj,,
TLIB 4.5 Copyright (c) 1987, 1999 Inprise Corporation
Warning: 'TPostgres' not found in library
bcc32 -c -O2 -I..\..\include -IC:\PgSQL\include -DHB_OS_WIN_32_USED -DPG_DIAG_INTERNAL_POSITION -o..\..\obj\b32\postgres.obj postgres.c
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
postgres.c:
Warning W8017 C:\PgSQL\include\postgres_ext.h 52: Redefinition of 'PG_DIAG_INTERNAL_POSITION' is not identical
Warning W8075 postgres.c 527: Suspicious pointer conversion in function HB_FUN_PQESCAPESTRING
tlib ..\..\lib\b32\libhbpg.lib -+..\..\obj\b32\postgres.obj,,
TLIB 4.5 Copyright (c) 1987, 1999 Inprise Corporation
Como resolver o problema?
Obrigado.
MarceloG!
atualizei o xharbour e a minigui com as últimas versõoes existentes.
Criei normalmente os arquivos do sistema e libs.
Todavia, com relação a libhbpg.lib (Postgresql) alguma coisa deu errado.
Até a última versão, para compilar a lib eu fazia o seguinte:
1) Copiava a libpg.dll da pasta corresponde do Postgresql para a pasta correspondente do xharbour (xharbour\contrib\pgsql);
2) Criava a libpq.lib com importação usando o comando: implib libpq.lib libpq.dll;
3) Copiava a libpq.lib criada para o diretório corresponde no xharbour (xharbour\lib);
4) Editava o arquivo makefile.bc, alterando o valor da variável PG_DIR indicando o path do Postgresql (c:\PgSQL);
5) Excutava o arquivo make_b32.bat (isso criava e cria a libhbpg.lib);
6) Copiava todas as dll´s necessárias para conexão para pasta do aplicativo;
7) Pronto.
Entretanto, na compilação, o erro abaixo está sendo gerado
Borland Resource Compiler Version 5.40
Copyright (c) 1990, 1999 Inprise Corporation. All rights reserved.
C:\BCC55\BIN\ilink32 @makefile.lnk
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Error: Unresolved external '_PQconnectdb' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQsetdbLogin' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQfinish' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQreset' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQprotocolVersion' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQclientEncoding' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQsetClientEncoding' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQdb' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQuser' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQpass' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQhost' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQport' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQtty' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQoptions' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQclear' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQexec' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQexecParams' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQgetlength' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQftablecol' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQgetvalue' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQtransactionStatus' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQerrorMessage' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQstatus' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQresultErrorMessage' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQresultStatus' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQcmdStatus' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQcmdTuples' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQescapeString' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQescapeBytea' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQunescapeBytea' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQoidValue' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQoidStatus' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQbinaryTuples' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQftable' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQftype' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQfname' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQfmod' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQfsize' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQgetisnull' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQfnumber' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQntuples' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQnfields' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQsendQuery' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQgetResult' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQconsumeInput' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQisBusy' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQrequestCancel' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQflush' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQsetnonblocking' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQisnonblocking' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQtrace' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQuntrace' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQsetErrorVerbosity' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_lo_import' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_lo_export' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_lo_unlink' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQserverVersion' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQgetCancel' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQcancel' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQfreeCancel' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQescapeByteaConn' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
Error: Unresolved external '_PQfreemem' referenced from C:\XHARBOUR\LIB\LIBHBPG.LIB|postgres
O log do make_b32 indica o seguinte:
MAKE Version 5.2 Copyright (c) 1987, 2000 Borland
..\..\bin\harbour.exe TPostgres.prg -q0 -a -w -es2 -gc0 -n -i..\..\include -o..\..\obj\b32\TPostgres.c
bcc32 -c -O2 -I..\..\include -IC:\PgSQL\include -DHB_OS_WIN_32_USED -DPG_DIAG_INTERNAL_POSITION -o..\..\obj\b32\TPostgres.obj ..\..\obj\b32\TPostgres.c
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
..\..\obj\b32\TPostgres.c:
tlib ..\..\lib\b32\libhbpg.lib -+..\..\obj\b32\TPostgres.obj,,
TLIB 4.5 Copyright (c) 1987, 1999 Inprise Corporation
Warning: 'TPostgres' not found in library
bcc32 -c -O2 -I..\..\include -IC:\PgSQL\include -DHB_OS_WIN_32_USED -DPG_DIAG_INTERNAL_POSITION -o..\..\obj\b32\postgres.obj postgres.c
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
postgres.c:
Warning W8017 C:\PgSQL\include\postgres_ext.h 52: Redefinition of 'PG_DIAG_INTERNAL_POSITION' is not identical
Warning W8075 postgres.c 527: Suspicious pointer conversion in function HB_FUN_PQESCAPESTRING
tlib ..\..\lib\b32\libhbpg.lib -+..\..\obj\b32\postgres.obj,,
TLIB 4.5 Copyright (c) 1987, 1999 Inprise Corporation
Como resolver o problema?
Obrigado.
MarceloG!