Página 1 de 2
LibMysql.Dll -> LibMySQL.a (MinGW)
Enviado: 16 Mar 2015 10:03
por fladimir
Seguinte, em Console uso o MSVC, porém queria migrar para MinGW e todas as libs q preciso com excessão da libmysql da Contrib.
O q fiz foi recompilar o fonte da Contrib\hbmysql e gerou o hbmysql.a, mas pra compilar o projeto preciso tb do libmysql.a
No MSVC eu consegui a libmysql.lib não me recordo como, em BCC eu sei q tem como extrair da Dll a lib via linha de comando, gostaria de saber se é possível extrair da Dll a libmysql.a ou outra forma de conseguir.
[]´s
LibMysql.Dll -> LibMySQL.a (MinGW)
Enviado: 16 Mar 2015 11:07
por Itamar M. Lins Jr.
Quando vc cria o harbour.exe (compilação do fontes)
Se estiver setado tudo como manda o figurino, automaticamente será criado essa lib.
Pelo menos aqui comigo foi assim.
Código: Selecionar todos
--with mysql - build components dependent on mysql (hbmysql, sddmy)
Código: Selecionar todos
You can set these environment variables before starting
the build. Make sure to adjust them to your own directories:
HB_WITH_MYSQL=C:\mysql\include
Saudações,
Itamar M. Lins Jr.
LibMysql.Dll -> LibMySQL.a (MinGW)
Enviado: 16 Mar 2015 11:53
por fladimir
Vou verificar.. obrigado.
LibMysql.Dll -> LibMySQL.a (MinGW)
Enviado: 16 Mar 2015 15:00
por JoséQuintas
Isso é um utilitário que faz, gera uma lib com as definições pra DLL, e varia conforme o compilador.
Se não me engano, a opção -implib do hbmk2 é pra chamar o utilitário.
Só pra confirmar: apesar da lib, continua dependendo de existir a DLL, não é isso?
-implib=<output> create import library (in -hbdyn/-hbexe mode) name to
<output> (default: same as output)
LibMysql.Dll -> LibMySQL.a (MinGW)
Enviado: 16 Mar 2015 22:09
por fladimir
Itamar e/ou demais colegas,
Baixei o Harbour do GitHub e recompilei o projeto pra ver se gerava a lib, porém percebi q no decorrer do processo apresentou a mensagem q não localizou dependências, devido eu ter esquecido de ter q ter instalado o MySQL (Uso o MariaDB local e na Web MySQL) e setar a configuração q o Itamar passou, minha dúvida é qual versão do MySQL tenho q ter no meu micro pra poder compilar o projeto?
[]´s
LibMysql.Dll -> LibMySQL.a (MinGW)
Enviado: 16 Mar 2015 23:11
por Itamar M. Lins Jr.
A mais nova !
Pelo menos vi no changelog referencia p/ versão 5.6+
2014-09-23 16:43 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
* contrib/sddmy/core.c
+ handle mysql 5.6+ types to avoid compiler warning
Saudações,
Itamar M. Lins Jr.
LibMysql.Dll -> LibMySQL.a (MinGW)
Enviado: 17 Mar 2015 00:47
por fladimir
Tentando até agora, usei o MySQL do 5 até o 5.6 e não consegui...
Fiz SET do MySQL conforme o Itamar passou e não deu.
Resumindo compilo o projeto, mas a contribu hbmysql não gera a lib q libmysql.a
alguma outra ideia, se não e alguém q tiver tudo isto compilado e puder compartilhar agradeço.
[]´s
LibMysql.Dll -> LibMySQL.a (MinGW)
Enviado: 17 Mar 2015 12:12
por Itamar M. Lins Jr.
Irei fazer o teste aqui...
Saudações,
Itamar M. Lins Jr.
LibMysql.Dll -> LibMySQL.a (MinGW)
Enviado: 17 Mar 2015 13:14
por Itamar M. Lins Jr.
Aqui foi de primeira! MySql 5.6.23
Código: Selecionar todos
C:\Users\Itamar\Documents\GitHub\harbour-core\contrib>hbmk2 make.hb hbmysql clea
n install
! Package rebuild and install... 1 project(s)
c:\hb34\bin\hbmk2 -lang=en -quiet -width=0 -autohbm- @../hbpre -inc -rebuildall
../hbmysql/hbmysql.hbp @../hbpost
hbmk2: Created import library: ..\..\lib\win\mingw\liblibmySQL.a <= C:\mysql-5.6
.23-win32\lib\libmySQL.dll
Minhas sets!
Código: Selecionar todos
C:\Users\Itamar\Documents\GitHub\harbour-core\contrib>set hb
HB_INSTALL_PREFIX=C:\HB34
HB_QT_MAJOR_VER=5
HB_TIP_OPENSSL=yes
HB_WITH_CURL=C:\curl-7.39.0-win32\include\
HB_WITH_FIREBIRD=C:\Program Files\Firebird\Firebird_2_5\include
HB_WITH_MYSQL=C:\mysql-5.6.23-win32\include
HB_WITH_OPENSSL=C:\OpenSSL-Win32\include
HB_WITH_QT=c:\QT\Qt5.4.0\5.4\mingw491_32\include
Saudações,
Itamar M. Lins Jr.
LibMysql.Dll -> LibMySQL.a (MinGW)
Enviado: 17 Mar 2015 16:18
por fladimir
Itamar ou outro colega se não for pedir muito poderia compartilhar 3 links
link pra baixar ultima versao harbour (ou a mais estavel) vejo q estao usando 3.4 e eu estou na 3.2
link para baixar MinGW recomendado pra tal versao, nem sei qual to usando aki (como confiro)
Pra eu testar com os mesmos q vc usou.
As variaveis q vc postou as minhas estao diferentes, vou ajustar.
[]s
LibMysql.Dll -> LibMySQL.a (MinGW)
Enviado: 17 Mar 2015 16:31
por Itamar M. Lins Jr.
Ola!
Da forma que uso aqui é assim:
Baixe a QT 5.4.1 que já vem com o MingW 4.9.1
http://download.qt-project.org/official ... -5.4.1.exe
Harbour fork Viktor 3.4
https://github.com/vszakats/harbour-cor ... master.zip
Agora pode usar também com o MingW 4.9.2 da t-Dragon que está ok.
http://sourceforge.net/projects/tdm-gcc ... e/download
A Qt 5.4.2 quando sair será com o Mingw 4.9.2.
Saudações,
Itamar M. Lins Jr.
LibMysql.Dll -> LibMySQL.a (MinGW)
Enviado: 17 Mar 2015 16:41
por Itamar M. Lins Jr.
Isso é um utilitário que faz, gera uma lib com as definições pra DLL, e varia conforme o compilador.
Se não me engano, a opção -implib do hbmk2 é pra chamar o utilitário.
Só pra confirmar: apesar da lib, continua dependendo de existir a DLL, não é isso?
Positivo.
O utilitário linha de comando p/ usar sem hbmk2 do MingW é a "DLLTOOL.EXE"
http://www.mingw.org/wiki/createimportlibraries
Mas o hbmk2 faz isso sem delongas. Basta informar onde está instalado o MySQL, apenas apontado a pasta include dele.
Saudações,
Itamar M. Lins Jr.
LibMysql.Dll -> LibMySQL.a (MinGW)
Enviado: 17 Mar 2015 16:44
por fladimir
Vlw Itamar, vou testar, agora tem q dar certo não é possível... kkk.
Depois posto aki.
[]'s
LibMysql.Dll -> LibMySQL.a (MinGW)
Enviado: 17 Mar 2015 16:44
por Itamar M. Lins Jr.
nem sei qual to usando aki (como confiro)
ou
Também diz qual é o compilador.
Saudações,
Itamar M. Lins Jr.
LibMysql.Dll -> LibMySQL.a (MinGW)
Enviado: 18 Mar 2015 08:53
por fladimir
Não deu...
baixei o core q vc passou o MinGW sozinho sem ser com QT
abro o prompt rodo o bat q contém os sets etc (conteudo do bat abaixo)
Código: Selecionar todos
SET HB_ARCHITECTURE=win
SET HB_COMPILER=mingw
SET HB_INSTALL_PREFIX=D:\HB34
SET HB_TIP_OPENSSL=yes
SET HB_WITH_MYSQL=C:\mysql\include
SET HB_QT_MAJOR_VER=5
rem HB_WITH_CURL=C:\curl-7.39.0-win32\include\
rem HB_WITH_FIREBIRD=C:\Program Files\Firebird\Firebird_2_5\include
rem HB_WITH_OPENSSL=C:\OpenSSL-Win32\include
rem HB_WITH_QT=c:\QT\Qt5.4.0\5.4\mingw491_32\include
SET INCLUDE_DIR=d:\mingw\include;d:\hb34\include
SET LIB_DIR=d:\hb34\lib;d:\mingw\lib
SET PATH=C:\WINDOWS\SYSWOW64\;D:\HB34\BIN\;D:\mingw\bin
SET INCLUDE=D:\HB34\INCLUDE;D:\mingw\include
SET LIB=D:\HB34\LIB\WIN\MINGW;D:\mingw\lib
depois vou na pasta do core e digito win-make clean install
no final da o seguinte:
Código: Selecionar todos
../../../../../contrib/hbwin/wapi_secur32.c:65:32: note: declared here
static _HB_GETUSERNAMEEX s_pGetUserNameEx = NULL;
^
hbmk2 [hbwin]: Error: Running C/C++ compiler job #4. 1
hbmk2 [hbwin]: Exit code: 6: failed in compilation phase
! Finished package rebuild and install...
makefile:8: recipe for target 'install' failed
win-make.exe[1]: *** [install] Error 6
config/dir.mk:68: recipe for target 'contrib.inst' failed
win-make.exe: *** [contrib.inst] Error 2
D:\harbour-core-master>