Harbour++ - Informações, código-fonte e atualizações
Moderador: Moderadores
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Harbour++ - Informações, código-fonte e atualizações
Outra dúvida, que acho que outros devem ter, ainda mais depois de comentar de HMG Extended:
O fato de usar Harbour++ significa que todas as LIBs terão que ser convertidas pra C++, ou podem ser usadas normalmente apenas recompilando PRGs ?
Lembrei daqueles PRGs que tem fonte C embutido, não sei se pode ser problema.
O fato de usar Harbour++ significa que todas as LIBs terão que ser convertidas pra C++, ou podem ser usadas normalmente apenas recompilando PRGs ?
Lembrei daqueles PRGs que tem fonte C embutido, não sei se pode ser problema.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
-
marcosgambeta
- Usuário Nível 3

- Mensagens: 332
- Registrado em: 16 Jun 2005 22:53
Harbour++ - Informações, código-fonte e atualizações
Código C não precisa ser convertido para C++. Somente precisa ser compilável em C++.JoséQuintas escreveu:Outra dúvida, que acho que outros devem ter, ainda mais depois de comentar de HMG Extended:
O fato de usar Harbour++ significa que todas as LIBs terão que ser convertidas pra C++, ou podem ser usadas normalmente apenas recompilando PRGs ?
Lembrei daqueles PRGs que tem fonte C embutido, não sei se pode ser problema.
Pode ser que apareça algum erro ou aviso, sendo necessário então alguma correção ou ajuste, mas a maior parte do código passa sem problemas.
Nestes casos, pode-se usar compilação condicional:
Código: Selecionar todos
#ifdef __cplusplus
// código C++
#else
// código C
#endifAtenciosamente,
Marcos Antonio Gambeta
Marcos Antonio Gambeta
-
marcosgambeta
- Usuário Nível 3

- Mensagens: 332
- Registrado em: 16 Jun 2005 22:53
Harbour++ - Informações, código-fonte e atualizações
Compilação condicional no código xBase pode ser feita desta forma:
Funciona também em código C/C++.
Código: Selecionar todos
#ifdef __HARBOURPP__
// estou no Harbour++
#else
// estou no Harbour
#endifAtenciosamente,
Marcos Antonio Gambeta
Marcos Antonio Gambeta
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Harbour++ - Informações, código-fonte e atualizações
Criei um workflow no github, usando mingw 7.3.
Em 32 bits não passou.
Em 64 bits ocorreu alerta no uso de hbmk2 ref. uso de cc1.exe ao invés de g++, mas gerou.
Em 32 bits não passou.
Em 64 bits ocorreu alerta no uso de hbmk2 ref. uso de cc1.exe ao invés de g++, mas gerou.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Harbour++ - Informações, código-fonte e atualizações
Não tem segredo fazer isso no repositório.
Criar pasta ".github"
Criar pastsa ".github/workflows"
Nesta última pasta, salvar os projetos YML.
passo a passo:
indica pra executar o workflow todo dia 1, ou no click no github. está anotado (#) o que executa ao atualizar fonte
Estou usando diferente do normal, usando a pasta temp, e desprezando o repositório.
Baixa os fontes
um "truque" que usei, tenho o mingw como anexo de outro workflow, aqui baixa
descompacta o arquivo baixado
gera 32 bits, configurando as variáveis de ambiente e path primeiro
está anotado (#) senão dá erro e para por aí.
gera 64 bits
compacta o que foi gerado
salva como anexo do workflow
É uma pena que esse último não fica visível ao público.
Criar pasta ".github"
Criar pastsa ".github/workflows"
Nesta última pasta, salvar os projetos YML.
Código: Selecionar todos
#
# create: JoseQuintas/addons/hbpp_0703
name: Harbourpp mingw 7.3
on:
# push:
schedule:
- cron: "15 5 1 * *"
workflow_dispatch:
inputs:
name:
description: 'Harbour++ mingw 7.3
x86_64-7.3.0-release-posix-sjlj-rt_v5-rev0'
default: 'hbpp_0703'
required: true
jobs:
Build:
runs-on: windows-latest
steps:
- name: Load Source Code
env:
REPO: JoseQuintas/harbourpp-v1
run: |
c:
git clone https://github.com/$env:repo c:\temp\harbourpp --depth 1
cd \temp\harbourpp
- name: mingw 7.3
uses: dawidd6/action-download-artifact@v2
with:
workflow: mingw_0703.yml
workflow_conclusion: success
name: mingw_0703
path: c:\temp
repo: JoseQuintas/addons
- name: Unzip
env:
PATH: c:\program files\7-zip
run: |
c:
md c:\temp\harbour
md c:\temp\harbour\comp
7z x -y c:\temp\mingw_0703.7z -oc:\temp\comp
#- name: Build 32 bits
# env:
# HB_BUILD_STRIP: all
# HB_COMPILER: mingw
# HB_INSTALL_PREFIX: c:\temp\harbour
# HB_USER_CFLAGS: -std=c++11
# PATH: c:\temp\comp\mingw64\bin;c:\temp\harbour\bin
# run: |
# c:
# cd c:\temp\harbourpp
# mingw32-make clean install
- name: Build 64 bits
env:
HB_BUILD_STRIP: all
HB_COMPILER: mingw64
HB_INSTALL_PREFIX: c:\temp\harbour
HB_USER_CFLAGS: -std=c++11
PATH: c:\temp\comp\mingw64\bin;c:\temp\harbour\bin
run: |
c:
cd \temp\harbourpp
mingw32-make clean install
- name: Zip
env:
PATH: c:\program files\7-zip
run: |
c:
7z a -r c:\temp\hbpp_0703.7z c:\temp\harbour\*.* -xr'!.git' -xr'!.github' -xr'!.hbmk'
- name: Save
uses: actions/upload-artifact@v2
with:
name: hbpp_0703
path: c:\temp\hbpp_0703.7z
indica pra executar o workflow todo dia 1, ou no click no github. está anotado (#) o que executa ao atualizar fonte
Código: Selecionar todos
on:
# push:
schedule:
- cron: "15 5 1 * *"
workflow_dispatch:
Baixa os fontes
Código: Selecionar todos
- name: Load Source Code
env:
REPO: JoseQuintas/harbourpp-v1
run: |
c:
git clone https://github.com/$env:repo c:\temp\harbourpp --depth 1
cd \temp\harbourpp
Código: Selecionar todos
- name: mingw 7.3
uses: dawidd6/action-download-artifact@v2
with:
workflow: mingw_0703.yml
workflow_conclusion: success
name: mingw_0703
path: c:\temp
repo: JoseQuintas/addons
Código: Selecionar todos
- name: Unzip
env:
PATH: c:\program files\7-zip
run: |
c:
md c:\temp\harbour
md c:\temp\harbour\comp
7z x -y c:\temp\mingw_0703.7z -oc:\temp\comp
está anotado (#) senão dá erro e para por aí.
Código: Selecionar todos
#- name: Build 32 bits
# env:
# HB_BUILD_STRIP: all
# HB_COMPILER: mingw
# HB_INSTALL_PREFIX: c:\temp\harbour
# HB_USER_CFLAGS: -std=c++11
# PATH: c:\temp\comp\mingw64\bin;c:\temp\harbour\bin
# run: |
# c:
# cd c:\temp\harbourpp
# mingw32-make clean install
Código: Selecionar todos
- name: Build 64 bits
env:
HB_BUILD_STRIP: all
HB_COMPILER: mingw64
HB_INSTALL_PREFIX: c:\temp\harbour
HB_USER_CFLAGS: -std=c++11
PATH: c:\temp\comp\mingw64\bin;c:\temp\harbour\bin
run: |
c:
cd \temp\harbourpp
mingw32-make clean install
Código: Selecionar todos
- name: Zip
env:
PATH: c:\program files\7-zip
run: |
c:
7z a -r c:\temp\hbpp_0703.7z c:\temp\harbour\*.* -xr'!.git' -xr'!.github' -xr'!.hbmk'
Código: Selecionar todos
- name: Save
uses: actions/upload-artifact@v2
with:
name: hbpp_0703
path: c:\temp\hbpp_0703.7z
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Harbour++ - Informações, código-fonte e atualizações
uma vez salvo o workflow, aparece em "ACTIONS"
Selecionando o workflow tem opção de executar.
E dá pra ver em andamento, ou volta depois pra ver.
Posso mandar como commit.
NÃO tenho certeza se vai aceitar puxar o mingw de outro usuário, mas no meu usuário, com tudo nele, funcionou.
Lembrando: a máquina vém com MSYS2 instalado, e mingw atualizado, é que uso o 7.3.
Selecionando o workflow tem opção de executar.
E dá pra ver em andamento, ou volta depois pra ver.
Posso mandar como commit.
NÃO tenho certeza se vai aceitar puxar o mingw de outro usuário, mas no meu usuário, com tudo nele, funcionou.
Lembrando: a máquina vém com MSYS2 instalado, e mingw atualizado, é que uso o 7.3.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Harbour++ - Informações, código-fonte e atualizações
Detalhe a mais:
Porque faço em c:\temp e não na pasta do projeto?
porque em \temp o limite de espaço é maior.
deu certo assim, ficou assim.
também funcionam scripts em powershell pra baixar da internet, e outras coisas mais.
é tudo em batch, não temos visão da máquina real.
pode ser máquina windows ou linux, no mesmo workflow, ou em workflows diferentes.
e se colocar várias rotinas, pode rodar todas simultâneas ou uma de cada vez - dependendo de como fizer.
Pra projeto público o único limite é que o batch não pode demorar mais de 8 horas pra completar (se não me engano).
Mas pode ter vários sem problema.
Porque faço em c:\temp e não na pasta do projeto?
porque em \temp o limite de espaço é maior.
deu certo assim, ficou assim.
também funcionam scripts em powershell pra baixar da internet, e outras coisas mais.
é tudo em batch, não temos visão da máquina real.
pode ser máquina windows ou linux, no mesmo workflow, ou em workflows diferentes.
e se colocar várias rotinas, pode rodar todas simultâneas ou uma de cada vez - dependendo de como fizer.
Pra projeto público o único limite é que o batch não pode demorar mais de 8 horas pra completar (se não me engano).
Mas pode ter vários sem problema.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
-
marcosgambeta
- Usuário Nível 3

- Mensagens: 332
- Registrado em: 16 Jun 2005 22:53
Harbour++ - Informações, código-fonte e atualizações
José,
Muito obrigado pelos testes, exemplos e informações. Conforme o tempo permitir, vou estudar como aproveitar estes recursos no desenvolvimento do projeto.
Com respeito ao erro na compilação 32-bit, experimente esta solução temporária, por favor:
Ajuste conforme o ambiente de desenvolvimento utilizado.
Visto que o MinGW é 64-bit e o Harbour++ está sendo gerado em 32-bit, os executáveis da pasta bin do Harbour++ precisam achar as dll's 32-bit do MinGW. Se não acharem, dá erro conforme ocorreu com o hbpp.exe.
Pretendo modificar os scripts de compilação para usarem as versões estáticas das bibliotecas, de forma que as dll's do MinGW não sejam mais necessárias.
Muito obrigado pelos testes, exemplos e informações. Conforme o tempo permitir, vou estudar como aproveitar estes recursos no desenvolvimento do projeto.
Com respeito ao erro na compilação 32-bit, experimente esta solução temporária, por favor:
Código: Selecionar todos
set PATH=c:\mingw64\x86_64-w64-mingw32\lib32;c:\mingw64\bin;%PATH%Visto que o MinGW é 64-bit e o Harbour++ está sendo gerado em 32-bit, os executáveis da pasta bin do Harbour++ precisam achar as dll's 32-bit do MinGW. Se não acharem, dá erro conforme ocorreu com o hbpp.exe.
Pretendo modificar os scripts de compilação para usarem as versões estáticas das bibliotecas, de forma que as dll's do MinGW não sejam mais necessárias.
Atenciosamente,
Marcos Antonio Gambeta
Marcos Antonio Gambeta
-
marcosgambeta
- Usuário Nível 3

- Mensagens: 332
- Registrado em: 16 Jun 2005 22:53
Harbour++ - Informações, código-fonte e atualizações
Ao testar no Fedora 36, o Harbour++ precisou de alguns ajustes e correções. Foi preciso ajustar diversos casts (de static_cast para reinterpret_cast) e também compatibilizar com mudanças na GNU C Library. Agora está funcionando normalmente.
Caso não consiga compilar na sua distribuição Linux, crie uma entrada no link abaixo descrevendo o problema:
https://github.com/harbourplusplus/harbourpp-v1/issues
Pode escrever em português mesmo. Será revisado o mais breve possível.
Caso não consiga compilar na sua distribuição Linux, crie uma entrada no link abaixo descrevendo o problema:
https://github.com/harbourplusplus/harbourpp-v1/issues
Pode escrever em português mesmo. Será revisado o mais breve possível.
Atenciosamente,
Marcos Antonio Gambeta
Marcos Antonio Gambeta
-
marcosgambeta
- Usuário Nível 3

- Mensagens: 332
- Registrado em: 16 Jun 2005 22:53
Harbour++ - Informações, código-fonte e atualizações
Passando apenas para informar:
O Harbour++ está sincronizado com todas as mudanças do Harbour oficial até a entrada abaixo:
No Windows, pode ser compilado com Visual C++, GCC (MinGW) ou Clang.
Quanto ao BCC, os compiladores clássicos estão descartados por causa do suporte incompleto ou
inexistente ao padrão C++11 e superiores. Mas acredito que será possível usar as versões baseadas em Clang. Espero testar em breve.
Link do projeto no GitHub:
https://github.com/marcosgambeta/harbourpp-v1
Erros de compilação ou outros problemas podem ser relatados no link abaixo:
https://github.com/marcosgambeta/harbourpp-v1/issues
A seção 'Discussions' está aberta para quem tiver dúvidas para esclarecer:
https://github.com/marcosgambeta/harbou ... iscussions
O Harbour++ está sincronizado com todas as mudanças do Harbour oficial até a entrada abaixo:
Código: Selecionar todos
2023-07-07 00:07 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/vm/classes.c
! fixed GPF when object item variable is passed by reference but the object
is neither instance of standard class nor scalar classQuanto ao BCC, os compiladores clássicos estão descartados por causa do suporte incompleto ou
inexistente ao padrão C++11 e superiores. Mas acredito que será possível usar as versões baseadas em Clang. Espero testar em breve.
Link do projeto no GitHub:
https://github.com/marcosgambeta/harbourpp-v1
Erros de compilação ou outros problemas podem ser relatados no link abaixo:
https://github.com/marcosgambeta/harbourpp-v1/issues
A seção 'Discussions' está aberta para quem tiver dúvidas para esclarecer:
https://github.com/marcosgambeta/harbou ... iscussions
Atenciosamente,
Marcos Antonio Gambeta
Marcos Antonio Gambeta
-
marcosgambeta
- Usuário Nível 3

- Mensagens: 332
- Registrado em: 16 Jun 2005 22:53
Harbour++ - Informações, código-fonte e atualizações
A SQLRDD para Harbour++ está disponível no repositório abaixo:
https://github.com/marcosgambeta/sqlrddpp
No WIndows, a compilação está passando sem erros (somente avisos). Mas no Linux, ocorre um erro que ainda vou pesquisar a causa.
O Bison é necessário. Deve ser adicionado no path, conforme exemplo abaixo:
A compilação da biblioteca requer apenas o comando abaixo, executado na pasta source:
Como é um projeto vindo do xHarbour, requer a contrib xhb. Mas já está incluída no sqlrdd.hbp.
Fiz um pequeno teste de conexão com o MySql e funcionou corretamente. A compilação do teste usou estes parâmetros:
Note que foi preciso incluir a contrib xhb e as bibliotecas odbc32 e odbccp32 do Windows.
É um trabalho em progresso. Conforme evoluir, alguns detalhes irão mudar.
https://github.com/marcosgambeta/sqlrddpp
No WIndows, a compilação está passando sem erros (somente avisos). Mas no Linux, ocorre um erro que ainda vou pesquisar a causa.
O Bison é necessário. Deve ser adicionado no path, conforme exemplo abaixo:
Código: Selecionar todos
set PATH=C:\GnuWIn32\bin;%PATH%Código: Selecionar todos
hbmk2 sqlrdd.hbpFiz um pequeno teste de conexão com o MySql e funcionou corretamente. A compilação do teste usou estes parâmetros:
Código: Selecionar todos
hbmk2 test1 -L..\source -lsqlrdd -llibmysql -i..\include xhb.hbc -lodbc32 -lodbccp32 É um trabalho em progresso. Conforme evoluir, alguns detalhes irão mudar.
Atenciosamente,
Marcos Antonio Gambeta
Marcos Antonio Gambeta
-
marcosgambeta
- Usuário Nível 3

- Mensagens: 332
- Registrado em: 16 Jun 2005 22:53
Harbour++ - Informações, código-fonte e atualizações
Segue o código do teste que usei:
Lembre-se de trocar "user" e "password" por dados reais.
Código: Selecionar todos
#include "sqlrdd.ch"
#include "mysql.ch"
REQUEST SQLRDD
REQUEST SQLEX
REQUEST SR_MYSQL
FUNCTION Main()
LOCAL cStringDeConexao
LOCAL nConexao
LOCAL oSql
cStringDeConexao := "MySQL=localhost;UID=user;pwd=password;dtb=dbtest;PRT=3306"
nConexao := SR_AddConnection(CONNECT_MYSQL, cStringDeConexao)
IF nConexao < 0
cStringDeConexao := "MySQL=localhost;UID=user;pwd=password;dtb=mysql;PRT=3306"
nConexao := SR_AddConnection(CONNECT_MYSQL, cStringDeConexao)
IF nConexao < 0
? "Erro de conexao"
RETURN NIL
ELSE
oSql := SR_GetConnection()
? "criando a base de dados..."
oSql:exec("CREATE DATABASE dbtest")
? "base de dados criada: dbtest"
inkey(2)
SR_EndConnection(nConexao)
cStringDeConexao := "MySQL=localhost;UID=user;pwd=password;dtb=dbtest;PRT=3306"
nConexao := SR_AddConnection(CONNECT_MYSQL, cStringDeConexao)
ENDIF
ENDIF
RETURN NILAtenciosamente,
Marcos Antonio Gambeta
Marcos Antonio Gambeta
-
marcosgambeta
- Usuário Nível 3

- Mensagens: 332
- Registrado em: 16 Jun 2005 22:53
Harbour++ - Informações, código-fonte e atualizações
Depois de algumas alterações, compilou sem erros (somente avisos) no Ubuntu e no OpenSuse.marcosgambeta escreveu:A SQLRDD para Harbour++ está disponível no repositório abaixo:
https://github.com/marcosgambeta/sqlrddpp
No WIndows, a compilação está passando sem erros (somente avisos). Mas no Linux, ocorre um erro que ainda vou pesquisar a causa.
Caso alguém tenha problemas na compilação da SQLRDD no Linux, basta informar que tentarei resolver o mais breve possível.
Atenciosamente,
Marcos Antonio Gambeta
Marcos Antonio Gambeta
-
marcosgambeta
- Usuário Nível 3

- Mensagens: 332
- Registrado em: 16 Jun 2005 22:53
Harbour++ - Informações, código-fonte e atualizações
Mais algumas notas sobre a SQLRDD:
1) O código-fonte será mantido compatível com Harbour e Harbour++.
2) Uma versão exclusiva para o Harbour++ será mantida, futuramente, em paralelo com a versão para Harbour.
Resumindo os requisitos:
Harbour++/Harbour 3.2/Harbour 3.4
C/C++
Windows/Linux
E para quem quiser compilar no Ubuntu, segue um resumo dos passos:
Não deverá ocorrer nenhum erro, mas apenas avisos do compilador.
1) O código-fonte será mantido compatível com Harbour e Harbour++.
2) Uma versão exclusiva para o Harbour++ será mantida, futuramente, em paralelo com a versão para Harbour.
Resumindo os requisitos:
Harbour++/Harbour 3.2/Harbour 3.4
C/C++
Windows/Linux
E para quem quiser compilar no Ubuntu, segue um resumo dos passos:
Código: Selecionar todos
sudo apt install bison
sudo apt install unixodbc-dev
git clone htpps://github.com/marcosgambeta/sqlrddpp
cd sqlrddpp
cd source
hbmk2 sqlrdd.hbpAtenciosamente,
Marcos Antonio Gambeta
Marcos Antonio Gambeta
-
marcosgambeta
- Usuário Nível 3

- Mensagens: 332
- Registrado em: 16 Jun 2005 22:53
Harbour++ - Informações, código-fonte e atualizações
A compilação da SQLRDD ficou mais simples:
Note que desta forma não depende mais do Bison.
E para compilar com a SQLRDD:
Exemplo com MySQL
Espero que estas mudanças facilitem o uso da biblioteca.
Conforme o projeto evoluir, planejo eliminar a dependência da contrib/xhb. Mas, por enquanto, ela continua necessária.
Código: Selecionar todos
cd sqlrddpp
hbmk2 sqlrddpp.hbpE para compilar com a SQLRDD:
Exemplo com MySQL
Código: Selecionar todos
hbmk2 <filename> sqlrddpp.hbc -llibmysqlConforme o projeto evoluir, planejo eliminar a dependência da contrib/xhb. Mas, por enquanto, ela continua necessária.
Atenciosamente,
Marcos Antonio Gambeta
Marcos Antonio Gambeta