Página 1 de 1

Compilar Postgres + Harbour + MSVC

Enviado: 27 Mai 2010 15:33
por Toledo
Olá amigos, acabei de baixar e compilar o Harbour do SVN, mas a lib HBPGSQL não foi compilada. Bom, como posso compilar agora esta lib usando o Harbour e MSVC?

Abraços,

Re: Compilar Postgres + Harbour + MSVC

Enviado: 28 Mai 2010 20:26
por sygecom
Buenas Toledo,
Aqui já deixo as variaveis de ambiente configuradas para ser gerado as LIB na compilação do Harbour do SVN, uso assim:

@echo off
set HB_COMPILER=msvc
set HB_INSTALL_PREFIX=D:\devel\hb-%HB_COMPILER%
set HB_BUILD_IMPLIB=yes
set HB_WITH_PGSQL=d:\pgsql\include
set HB_DIR_PGSQL=d:\pgsql

Para gerar a LIB somente dela depois do Harbour em mãos, primeiro tens que gerar a LIBPG.LIB apartir da LIBPQ.DLL, depois pode usar o hbmk2 mesmo para gerar a LIB da contrib, os fontes são pouco e ficaria assim:

1ºPasso LIB da DLL:

Código: Selecionar todos

c:\devel\bcc55\bin\impdef.exe libpq.def libpq.dll
del libpq.lib
lib /def:libpq.def
a LIB.EXE da terceira linha se encontra na instalação do MSVC, no meu caso está em:C:\devel\msvc\VC\bin\lib.exe

2ºPasso gerar a LIB da Contrib usando hbmk2:

Código: Selecionar todos

hbmk2 -llibpq.lib -hblib -ohbpgsql *.prg *.c 

Re: Compilar Postgres + Harbour + MSVC

Enviado: 30 Mai 2010 11:00
por Toledo
Leonardo, obrigado pela ajuda... deu certinho!

Abraços,

Re: Compilar Postgres + Harbour + MSVC

Enviado: 02 Nov 2010 19:55
por fladimir
Não entendi, não uso mais o BCC somente o MSVC, consigo compilar o Harbour sem problemas, mas ao tentar gerar a lib HBPGSQL na pasta contrib com o seguinte comando:

Código: Selecionar todos

hbmk2 @hbpgsql.hbp 
retorna o erro:

Código: Selecionar todos

hbmk2: Warning: Missing dependency: pgsql
ao verificar o script observei q faz referencias a estrutura do Linux.

Não entendi a explicação do Leonardo para gerar a lib usando um comando da pasta BCC e depois um da MSVC...

Alguém poderia ajudar....

Sds.

Re: Compilar Postgres + Harbour + MSVC

Enviado: 02 Nov 2010 20:22
por fladimir
Olá nobres colegas, resolvi retomar este tópico por 2 motivos, 1 q desejo migrar do DBF para PostGres e outro q não deu certo retomando a partir da explicação do Leonardo.

Baixei via SVN o harbour, compilei ok (D:\dev\harbour)
Tenho instalado o MSVC o qual trabalho (Pasta Padrão Arquivos de Programas....)
Tenho instaldo o Postgres (D:\PGSQL)


Peguei a Dll e extrai a lib conforme orientação do Leonardo, após isso, coloquei a lib dentro da pasta contrib\hbpgsql e rodei o hbmk2 conforme exposto acima e o erro permanece conforme abaixo:

Código: Selecionar todos

D:\DEV\harbour\contrib\hbpgsql>hbmk2 -llibpq.lib -hblib -ohbpgsql *.prg *.c
hbmk2: Processing environment options: -compiler=msvc
Harbour 2.1.0rc2 (Rev. 16438)
Copyright (c) 1999-2011, http://harbour-project.org/
Compiling 'hdbcpg.prg'...
Lines 1845, Functions/Procedures 46
Generating C source output to 'C:\DOCUME~1\Familia\CONFIG~1\Temp\hbmk_gjj8fp.dir
\hdbcpg.c'... Done.
Compiling 'tpostgre.prg'...
Lines 2259, Functions/Procedures 46
Generating C source output to 'C:\DOCUME~1\Familia\CONFIG~1\Temp\hbmk_gjj8fp.dir
\tpostgre.c'... Done.
hdbcpg.c
tpostgre.c
POSTGRES.C
POSTGRES.C(1296) : warning C4090: 'function' : different 'const' qualifiers
Generating Code...

Re: Compilar Postgres + Harbour + MSVC

Enviado: 08 Mar 2011 00:31
por fladimir
Alguém poderia auxiliar?

Outra questão, como na pasta bin do Postgres tem a DLL não seria possivel utiliza-la diretamente e evitar tudo isto?

Sds.

:)Pos

Re: Compilar Postgres + Harbour + MSVC

Enviado: 08 Mar 2011 01:51
por sygecom
Olá Fladir,
Não vi erro no seu resultado, apenas um aviso.
Sobre de usar a pasta BIN, claro que pode sim, a unica coisa que não sei como automatizar esse processo para pegar onde está essa pasta BIN por que cada um pode instalar onde quiser.

Re: Compilar Postgres + Harbour + MSVC

Enviado: 08 Mar 2011 08:38
por fladimir
Verdade Leonardo, gerou a lib, fui ver na pasta e ta lah, acho q pq ontem a noite depois de tanto erro ai vi o aviso e já subentendi q era um erro e nem analisei direito.

Obrigado vou dar continuidade....

Mas a minha pergunta era a seguinte, pq todo o trabalho pra gerar a lib se eu tenho a Dll qdo instalo o Postgres, tipo não da pra usar ela no Harbour ao inves da LIB?

....

Após dar continuidade, coloquei a lib na pasta ..\harbour\lib\win\msvc
Na pasta TESTS, ao tentar compilar o exemplo test.prg da seguinte maneira: hbmk2 test.prg -lhbpgsql
Da um erro falando q falta a libpq.lib
Ai compilo da seguinte forma: hbmk2 test.prg -lhbpgsql -llibpq (apos colocar a lib na pasta tests)

O executavel gerado ao rodar apresenta a seguinte mensagem: "Este aplicativo, não pode ser iniciado porque não foi encontrado LIBPQ.DLL....."
Ao copiar da pasta d:\pgsql\bin a DLL acima pra pasta Tests o test.exe roda e apresenta outra mensagem:
"Não foi possivel localizar o número ordinal 3188 na biblioteca de vinculo dinamico LIBEAY32.dll"


Alguém saberia auxiliar?
Sds.

:)Pos

Re: Compilar Postgres + Harbour + MSVC

Enviado: 08 Mar 2011 12:00
por sygecom
fladimir escreveu: Mas a minha pergunta era a seguinte, pq todo o trabalho pra gerar a lib se eu tenho a Dll qdo instalo o Postgres, tipo não da pra usar ela no Harbour ao inves da LIB?
Da sim, mas é exatamente o que a LIB faz, ela facilita o uso da DLL. Ou talvez pode pegar os fontes da LIB e compilar com seu aplicativo em vez de gerar a LIB.
fladimir escreveu: Após dar continuidade, coloquei a lib na pasta ..\harbour\lib\win\msvc
Na pasta TESTS, ao tentar compilar o exemplo test.prg da seguinte maneira: hbmk2 test.prg -lhbpgsql
Da um erro falando q falta a libpq.lib
Ai compilo da seguinte forma: hbmk2 test.prg -lhbpgsql -llibpq (apos colocar a lib na pasta tests)

O executavel gerado ao rodar apresenta a seguinte mensagem: "Este aplicativo, não pode ser iniciado porque não foi encontrado LIBPQ.DLL....."
Ao copiar da pasta d:\pgsql\bin a DLL acima pra pasta Tests o test.exe roda e apresenta outra mensagem:
"Não foi possivel localizar o número ordinal 3188 na biblioteca de vinculo dinamico LIBEAY32.dll"
Está no caminho, acontece que nessas versão mais nova do Postgresql agora vem varias DLL para poder rodar o aplicativo e todas essas DLL devem acompanhar seu aplicativo para o cliente. Copie todas as DLL da pasta \postgresql\bin. Em versão mais antiga do Postgresql era só enviar o aplicativo junto com a LIBPQ.DLL, mas fazer o que, temos que acompanhar a evolução.

Re: Compilar Postgres + Harbour + MSVC

Enviado: 08 Mar 2011 18:13
por fladimir
Deu certo copiei as Dlls da Pasta d:\pgsql\bin e funcionou.

Obrigado Leonardo e demais colegas

Sds.

:)Pos

Compilar Postgres + Harbour + MSVC

Enviado: 11 Fev 2012 13:53
por asimoes
Pessoal,

Estou retomando o assunto porque estou interessado em testar o postgresql.

Para gerar a lib com a compilação para mingw como eu faço?

Basta setar estas variáveis de ambiente ou isso mudou?
set HB_BUILD_IMPLIB=yes
set HB_WITH_PGSQL=d:\pgsql\include
set HB_DIR_PGSQL=d:\pgsql

Senhores,

Já consegui gerar a lib para postgre com o mingw, agora vou aos testes.

[]´s

Compilar Postgres + Harbour + MSVC

Enviado: 29 Mai 2014 09:21
por rlira
Olá Bom dia.

Prezados meu nome é Robson, eu como muitos aqui ( ou por ai ) tiveram que migrar para outras ferramentas ( eu passei a utilizar o MS-VFP que utiliza o mesmo dialeto X-base mais, que agora foi descontinuado e hoje aqui na empresa passamos a utilizar Java para Web ).

Descobri o Habour assim por um acaso e lendo o tópico "Como instalar o Harbour versão 2014 usando os fontes" https://pctoledo.org/forum/viewto ... 926#p87926 do Sr. Itamar M. Lins instalei, e rapidamente fiz as alterações necessárias chegando a compilar e executar no Windows 7 , o que me deixou bem animado porque avaliando como desenvolvedor não vejo desvantagens no emprego do aplicativo com o que desenvolvo hoje, a não ser por conta da base de dados.

O Postgre é velho conhecido e sempre gostei muito dele, porém não consegui ainda botar para funcionar, na pasta contrib temos um exemplo só que me enrolei com as lib´s , não sei se deveria já ter gerado os fontes do Habour com as lib´s ( li que tem umas variáveis de ambiente que precisam estar configuradas ) mais entendo que podem ser geradas posteriormente, e existe ainda a lib do próprio banco que igualmente entendi que a mesma pode ser copiada da pasta do banco.

Este topico fala de MSVC que deve ser o compilador utilizado e pela forma como instalei o Habour estou utilizando o compilador gcc (tdm-2) 4.8.1 e gostaria de obter uma ajuda dos senhores que já conseguiram colocar um aplicativo utilizando um banco de dados relacional.

Agradeço e estou disponivel para ajudar nesta etapa.

Robson

Compilar Postgres + Harbour + MSVC

Enviado: 01 Jun 2014 20:11
por sygecom
Robson,
Diga os erro que está tentando na hora de compilar os exemplos ou executar.

Compilar Postgres + Harbour + MSVC

Enviado: 02 Jun 2014 09:05
por rlira
Olá Leonardo bom dia.

Prezado os erros eram os arquivos .H do postgre mais tive um avanço neste fim de semana.

Observei que precisava criar uma lib, usando o comando hbmk2 -llibpq.lib -hblib -ohbpgsql *.prg *.c dos erros que se apresentaram foram a falta de arquivos .h que encontrei na pasta do postgre ( estranhei porque coloquei as variáveis de ambiente BUILD_IMPLIB, DIR_PGSQL e WITH_PGSQL ) então
fui copiando aos poucos os arquivos para a pasta contribh\bpgsql e ao final obtive um arquivo libhbpgsql.a e posteriormente foi copia-lo para a pasta C:\hb32\lib\win\mingw mais vi que lá já existia um ( acredito que qdo recompilei o Habour gerei ele, a diferença entre ambos é o tamanho 67 e 62KB ).

Seguindo fui compilar o test.prg ( hbmk2 test.prg -lhbpgsql ) não tive problemas tudo Ok gerei o .exe e consegui acesso ao banco e acho que agora estou pronto para prosseguir, notei também que documentação a respeito do acesso a banco é um pouco escasso mais vou ver os outros prg´s na pasta tests