Clipper On Line • Ver Tópico - Como compilar em 64-Bits HMG 3.4.4

Como compilar em 64-Bits HMG 3.4.4

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

 

Como compilar em 64-Bits HMG 3.4.4

Mensagempor NiltonGM » 23 Fev 2019 13:56

Grato Mustafa!
Nilton Medeiros
nilton@sistrom.com.br
Avatar de usuário

NiltonGM
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 340
Data de registro: 05 Jun 2014 23:47
Cidade/Estado: Caieiras/SP
Curtiu: 214 vezes
Mens.Curtidas: 13 vezes

Como compilar HMG 3.4.4 usando .BAT

Mensagempor microvolution » 15 Mar 2020 21:44

boa noite nobres professores!
Não sei se é o tópico correto, mas, evitar de criar mais um desnecessariamente...
vejam o meu problema.
eu compilo via HMG 3.4.4.... mas toda vez que tendo criar um .BAT me esbarro nalgumas coisas...
já consegui bastante avanço...
o erro atual que não consegui entender é o seguinte no código do log abaixo:
c:/hb34/comp/mingw32/bin/../lib/gcc/i686-w64-mingw32/5.2.0/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -lhbmysql
c:/hb34/comp/mingw32/bin/../lib/gcc/i686-w64-mingw32/5.2.0/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -lhbfimage
c:/hb34/comp/mingw32/bin/../lib/gcc/i686-w64-mingw32/5.2.0/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -lhbpgsql
c:/hb34/comp/mingw32/bin/../lib/gcc/i686-w64-mingw32/5.2.0/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -lsddmy
collect2.exe: error: ld returned 1 exit status
hbmk2 [DEMObat]: Erro: Executando linkeditor. 1


eu não coloquei essas libs e nem uso MYSQL, como descubro qual dos meus PRGs está chamando essas 4 LIBs desconhecidas por mim?

obs.:
1) não estou compilando com 64 bits, apesar de estar numa máquina com w10 64;
2) retirei a criação do -oNOME.EXE pois estava dando a mensagem de erro: no such file or directory;
3) na compilação via IDE/HMG (F5) não dá esse erro.
4) só uso a IDE/HMG pra facilitar a inclusão das LIBs, edição dos PRGs e compilação/linkedição... mais nada. Não a uso para criação de forms.
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
microvolution
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1011
Data de registro: 02 Set 2011 22:17
Curtiu: 58 vezes
Mens.Curtidas: 10 vezes

Como compilar em 64-Bits HMG 3.4.4

Mensagempor NiltonGM » 06 Jun 2020 12:21

mustafa escreveu:Hola NiltonGM :
Mira haber si te puede servir
http://www.hmgforum.com/viewtopic.php?f ... a&start=90

Saludos
Mustafa


Mustafa, ao compilar em 64 bits, da erro, pois não encontra a função MySQL_Escape_String. Veja o erro que ocorre:
hbmk2: Linkando... eMailCTe.exe
.hbmk/win/mingw64/funcoes.o:funcoes.c:(.data+0x930): undefined reference to `HB_FUN_MYSQL_ESCAPE_STRING'
.hbmk/win/mingw64/MySQL_Conect.o:MySQL_Conect.c:(.data+0xf0): undefined reference to `HB_FUN_TMYSQLSERVER'
collect2.exe: error: ld returned 1 exit status
hbmk2[eMailCTe]: Erro: Executando linkeditor. 1
gcc.exe .hbmk/win/mingw64/Main.o .hbmk/win/mingw64/class_tms.o .hbmk/win/mingw64/envia_email.o .hbmk/win/mingw64/funcoes.o .hbmk/win/mingw64/monitoraerros.o .hbmk/win/mingw64/monitoramail.o .hbmk/win/mingw64/MySQL_Conect.o .hbmk/win/mingw64/MySQL_Desconect.o .hbmk/win/mingw64/MySQL_ExecQuery.o .hbmk/win/mingw64/Opcoes.o .hbmk/win/mingw64/RegistraBD.o .hbmk/win/mingw64/UpLoadEvents.o .hbmk/win/mingw64/Util_MySendMail.o .hbmk/win/mingw64/_hbmkaut_Main.o P:/Harbours/apoio_tms/CTeMail/_temp.o    -pthread  -static-libgcc  -static-libstdc++  -static -lpthread -mwindows -Wl,--start-group -l"hmg-64" -l"crypt-64" -l"edit-64" -l"editex-64" -l"graph-64" -l"ini-64" -l"report-64" -l"hfcl-64" -lmsvfw32 -lvfw32 -l"hbvpdf-64" -lhbct -lhbwin -lhbmzip -lminizip -lhbmemio -lhbmisc -lhbtip -lsqlite3 -lhbsqlit3 -lsddodbc -lrddsql -lhbodbc -lodbc32 -lhbhpdf -lhbnetio -lxhb -lpng -llibhpdf -lhbzebra -lsistrom_aux -lhbextern -lhbdebug -lhbvmmt -lhbrtl -lhblang -lhbcpage -lgtcgi -lgtpca -lgtstd -lgtwin -lgtwvt -lgtgui -lhbrdd -lhbuddall -lhbusrrdd -lrddntx -lrddcdx -lrddnsx -lrddfpt -lhbrdd -lhbhsx -lhbsix -lhbmacro -lhbcplr -lhbpp -lhbcommon -lhbmainwin -lkernel32 -luser32 -lgdi32 -ladvapi32 -lws2_32 -liphlpapi -lwinspool -lcomctl32 -lcomdlg32 -lshell32 -luuid -lole32 -loleaut32 -lmpr -lwinmm -lmapi32 -limm32 -lmsimg32 -lwininet -lhbpcre -lhbzlib   -Wl,--end-group -oeMailCTe.exe  -L"C:/hmg.3.4.4/harbour-64/lib/win/mingw64" -L"C:/hmg.3.4.4/lib-64"

hbmk2: Dica: Instale o pacote hbmysql e adicione as op��es 'hbmysql.hbc'
       faltando nas fun��es: TMySQLServer(), mysql_escape_string()


A dica pede para que eu instale o pacote hbmysql e adicione as opções 'hbmysql.hbc'.... Não sei como instalar esse pacote. Ao compilar em 32 bits não dá esse erro, pois tudo que tenho que fazer é apenas colocar o arquivo dll 'libmysql.dll' na pasta raiz do sistema que está sendo compilado.

Grato.
Nilton Medeiros
nilton@sistrom.com.br
Avatar de usuário

NiltonGM
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 340
Data de registro: 05 Jun 2014 23:47
Cidade/Estado: Caieiras/SP
Curtiu: 214 vezes
Mens.Curtidas: 13 vezes

Como compilar em 64-Bits HMG 3.4.4

Mensagempor JoséQuintas » 06 Jun 2020 14:13

A LIB pra MySQL, assim como as libs curl e ssl e outras, dependem de arquivos que NÃO vém no Harbour.
Elas contém direitos autorais, e dependem de versões, por isso não vém junto.
Essas são OPCIONAIS, o Harbour SÓ gera se existir tudo que precisa pra elas.
E só vai dar falta se tentar usar alguma função delas.

QUALQUER Harbour gera pra qualquer compilador, seja 32 ou 64 bits.
MAS.... precisa das LIBs do Harbour de cada compilador.

harbour\\lib\win\bcc
harbour\\lib\win\bcc64
harbour\\lib\win\mingw
harbour\\lib\win\mingw64
etc.

Se tiver todas, gera pra qualquer coisa.
Por isso aí funciona 32 bits e dá falta em 64 bits, porque a pasta \lib\mingw tem tudo, mas a pasta \lib\mingw64 está incompleta.
E a falta aparece somente na linquedição, quando precisa das LIBs.

Qualquer um pode fazer um teste simples em sua máquina, testando outros compiladores:

hbmk2 projeto.hbp -comp=msvc
hbmk2 projeto.hbp -comp=bcc
hbmk2 projeto.hbp -comp=mingw
hbmk2 projeto.hbp -comp=mingw64

A "compilação" com Harbour acontece normal (o Harbour só transforma em C).
Vai dar erro mesmo, é na hora de usar o compilador C, ou a hora de linqueditar.
Ou vão faltar os EXEs do compilador C, ou as LIBs Harbour/C
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 14689
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 864 vezes

Anterior



Retornar para MiniGui

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 2 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro