Qual pacote MVSC

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

carlos_dornelas
Usuário Nível 3
Usuário Nível 3
Mensagens: 400
Registrado em: 25 Ago 2004 21:54

Qual pacote MVSC

Mensagem por carlos_dornelas »

Prezados, estou querendo começar testes com o MVSC.

Acessei o site http://www.microsoft.com/express/Downloads/, mas qual pacote devo baixar?

Tentei o Visual Studio 2010 Express Product Feature Chart mas me assustei com o tamanho: quase 2 gigas!

Alguém tem uma dica?

Antonio Carlos
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: Qual pacote MVSC

Mensagem por sygecom »

Olá Carlos,
Eu baixei e uso apenas o Visual C++ 2008 Express Edition quando clica no link ele pede a língua eu baixei em espanhol, depois na hora de instalar deixe em uma caminho fácil, D:\DEVEL\MSVC por que o HARBOUR e xHarbour para compilar precisam de alguns caminhos e deixando muito longo como é sugerido na instalação eu particularmente acho ruim de ficar depois configurando PATH e etc...
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
carlos_dornelas
Usuário Nível 3
Usuário Nível 3
Mensagens: 400
Registrado em: 25 Ago 2004 21:54

Re: Qual pacote MVSC

Mensagem por carlos_dornelas »

Sygecom, grato pela dica! Já baixei, instalei e registrei o Visual C++2008, mas agora como faço para compilar o harbour e as libs do contrib? Tenho os fontes baixados do SVN.

Antonio Carlos
carlos_dornelas
Usuário Nível 3
Usuário Nível 3
Mensagens: 400
Registrado em: 25 Ago 2004 21:54

Re: Qual pacote MVSC

Mensagem por carlos_dornelas »

Complementando:

Tenho os fontes do SVN instalados em D:\Programas\Harbour-Project\harbour

Pelo que entendi do arquivo INSTALL, é necessário baixar o GNU Make e descompactar na pasta do harbour. Baixei e descompactei e copiei o arquivo "mingw32-make.exe" na pasta do harbour. Executei o mingw32-make.exe e surgiu as seguintes mensagens:

D:\Programas\harbour-project\harbour>mingw32-make.exe
! Building Harbour 2.1.0beta2 from source - http://harbour-project.org
! MAKE: mingw32-make.exe 3.81 sh.exe
! HB_HOST_PLAT: win (x86) HB_SHELL: nt
config/global.mk:1074: *** ! HB_COMPILER not set, could not autodetect. Stop.

E agora?

O Visual C++ está instalado em:

D:\Programas\MVSC
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Re: Qual pacote MVSC

Mensagem por Itamar M. Lins Jr. »

Não precisa do mingw.
Olha lá no install em examples:
--- MSVC 2008 + SDK
set WindowsSDKDir=%ProgramFiles%\Microsoft SDKs\Windows\v6.0A\
call "%ProgramFiles%\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"
win-make
---
É apenas isso que deves setar:
e na pasta onde está o win-make é só digitar
win-make clean install
E eu aconselho setar onde os binários seram gravados:
- HB_INSTALL_PREFIX Target root directory to install Harbour files.
This will default to Harbour source tree on
non-*nix systems. On *nix systems the default
is set to /usr/local/ or $(PREFIX) if specified,
and /usr/local/harbour-<arch>-<comp> for
cross-builds. It's always set to ./pkg/<arch>/<comp>
when HB_BUILD_PKG is set to 'yes'.
Use absolute paths only. For a peace of mind,
avoid using spaces and quotes in the name.
You have to use path format native to your shell.
F.e. to specify C:\dir on Windows, with Cygwin
you should use /cygdrive/c/dir, with MSYS /c/dir.
It's also possible to use following macros:
{hb_top} - Source tree root dir
{hb_plat} - Target platform
{hb_comp} - Target compiler
{hb_cpu} - Target CPU
No meu caso está assim:
set HB_INSTALL_PREFIX = c:\dev\harbour
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
carlos_dornelas
Usuário Nível 3
Usuário Nível 3
Mensagens: 400
Registrado em: 25 Ago 2004 21:54

Re: Qual pacote MVSC

Mensagem por carlos_dornelas »

Pessoal, estou quase lá...

Para facilitar, troquei os diretórios para:

D:\Harbour-Project\Harbour para o SVN; e

D:\Harbour_msvc para o harbour compilado;

Meu xMake.bat ficou assim:

@echo off
call "d:\programas\mvsc\vc\vcvarsall.bat"
SET HB_INSTALL_PREFIX=D:\harbour_msvc

Primeiro executei o xMake.bat dentro da pasta D:\Harbour-Project\Harbour

Em seguida, executei o Win-Make.exe clean install dentro da mesma pasta D:\Harbour-Project\Harbour

Compilou certinho! (eu acho...), mas no final apareceram as mensagens a seguir:

rc.exe -nologo -fo hbrun.res ../../../hbrun.rc
fatal error RC1106: invalid option: -ologo
win-make.exe[3]: *** [hbrun.res] Error 1
win-make.exe[2]: *** [descend] Error 2
win-make.exe[1]: *** [hbrun.inst] Error 2
win-make.exe: *** [utils.inst] Error 2


Verifiquei D:\Harbour_Msvc e foram criadas as seguintes pastas:

05/07/2010 14:29 <DIR> bin
05/07/2010 14:29 <DIR> doc
05/07/2010 14:29 <DIR> include
05/07/2010 14:29 <DIR> lib

Dentro da pasta bin, aparecem os arquivos:
05/07/2010 14:46 2.726.912 harbour-21.dll
05/07/2010 14:39 624.640 harbour.exe
05/07/2010 14:46 2.748.928 harbourmt-21.dll
05/07/2010 14:39 181.760 hbpp.exe

Não tem o Hbmk2.exe! Não era para ter sido gerado ele também?

Na pasta lib também não encontrei a gtwvg.lib e a hbqt.lib.

Será que fiz algo errado ou faltou fazer alguma coisa?

Grato por vossa ajuda!

Antonio Carlos
carlos_dornelas
Usuário Nível 3
Usuário Nível 3
Mensagens: 400
Registrado em: 25 Ago 2004 21:54

Re: Qual pacote MVSC

Mensagem por carlos_dornelas »

Pessoal, continuando...

Tentei compilar um olá mundo, compilou tudo certinho, mas na hora de executar aparece:

D:\HARBOU~1\harbour\tests>teste

Unrecoverable error 9012: Can't locate the starting procedure: 'MAIN'
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Re: Qual pacote MVSC

Mensagem por Itamar M. Lins Jr. »

Ola!

Deve ser assim:

Código: Selecionar todos

function main
cls
? 'Ola mudo'
//fim
c:\>hbmk2 teste.prg
No Harbour o modulo principal tem que ter a função "MAIN'

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
carlos_dornelas
Usuário Nível 3
Usuário Nível 3
Mensagens: 400
Registrado em: 25 Ago 2004 21:54

Re: Qual pacote MVSC

Mensagem por carlos_dornelas »

Itamar, estranho que o Ola Mundo está conforme o que você postou e mesmo assim dá esse erro dizendo que não encontrou o MAIN! Aliás, testei com os exemplos da pasta TESTS, ele compila, mas na hora de executar ocorre a mesma mensagem.

Utilizei o hbmk2 distribuído com o harbour 2.0.0 (BCC). Tem algum problema em utilizá-lo com o harbour SVN-MVSC?

Se sim, como faço para obter o HBMK2 para MVSC? Vi que tem os fontes dele no SVN, mas como compilá-lo?

Grato e obrigado pela paciência.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Re: Qual pacote MVSC

Mensagem por Itamar M. Lins Jr. »

Tem, problema.
Use o Mingw que é muito fácil e é o padrão.
Use o Harbour do SVN, não mexa nas configurações, usa a padrão.
Se já fez isso e não funcionou poste suas variaveis de ambiente.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: Qual pacote MVSC

Mensagem por sygecom »

Olá Carlos,
Tive o mesmo problema hoje em compilar o harbour do SVN usando MSVC, ai tirei da compilação o hbrun e passou sem erros.
Alterei o arquivo \harbour\utils\makefile
apenas removi a linha.:
hbrun \
Salvei e recompilei tudo e deu certo, tente ai compilar todo o Harbour certinho sem erro, para depois compilar exemplos com ele.
Qualquer duvida post aqui.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
carlos_dornelas
Usuário Nível 3
Usuário Nível 3
Mensagens: 400
Registrado em: 25 Ago 2004 21:54

Re: Qual pacote MVSC

Mensagem por carlos_dornelas »

Itamar,
Tem, problema.
Use o Mingw que é muito fácil e é o padrão
Como faço para gerar o arquivo Hbmk2.exe? Quanto à utilizar o Mingw, será o próximo passo, mas antes gostaria de conseguir pelo menos o mínimo com o MSVC, que é gerar o Alo Mundo!

Para setar o ambiente, utilizo apenas o seguinte, para compilar o harbour:
@echo off
call "d:\programas\mvsc\vc\vcvarsall.bat"
SET HB_INSTALL_PREFIX=D:\harbour_msvc

Depois, para compilar os programas, utilizo um outro .bat, que não tenho o conteúdo aqui. Amanhã posto ele.


Sygecom,
Tive o mesmo problema hoje em compilar o harbour do SVN usando MSVC, ai tirei da compilação o hbrun e passou sem erros...
Vou tentar amanhã da forma como você fez. Estou ancioso para ver os resultados com o MSVC...
carlos_dornelas
Usuário Nível 3
Usuário Nível 3
Mensagens: 400
Registrado em: 25 Ago 2004 21:54

Re: Qual pacote MVSC

Mensagem por carlos_dornelas »

Ufa! Tirei o hbrun da compilação e funcionou!

Beleza! Agora vou tentar entender melhor como usar o hbmk2.

Obrigado a todos!
Avatar do usuário
ricardosierban
Usuário Nível 2
Usuário Nível 2
Mensagens: 57
Registrado em: 12 Out 2020 21:08
Localização: São Bernardo do Campo/SP
Contato:

Qual pacote MVSC

Mensagem por ricardosierban »

O erro abaixo já apareceu em meus testes com Harbour e no meu caso o problema estava na declaração das variáveis.

Eu tinha utilizado um nome na declaração e outro na chamada, por exemplo, declaração: Local nCadastro, chamada: Cadastro (sem o n no início)

Acertando isso rodou normalmente, porém caso não exista a função Main também dá esse erro, conforme já foi explicado.

---------------------------------------------------------------------------------------------------------
Pessoal, continuando...

Tentei compilar um olá mundo, compilou tudo certinho, mas na hora de executar aparece:

D:\HARBOU~1\harbour\tests>teste

Unrecoverable error 9012: Can't locate the starting procedure: 'MAIN'
----------------------------------------------------------------------------------------------------------
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Qual pacote MVSC

Mensagem por JoséQuintas »

ricardosierban escreveu:Unrecoverable error 9012: Can't locate the starting procedure: 'MAIN'
Uma opção no Clipper, que pode ser o default no Harbour, é -n
Isso OBRIGA que o nome dos fontes seja declarado.
E o ponto de partida de um programa compilado dessa forma é: a rotina MAIN

Código: Selecionar todos

PROCEDURE Main
   seu programa
ou

Código: Selecionar todos

FUNCTION Main()
   seu programa
   RETURN Nil
Provavelmente acabou compilando sem existir o nome MAIN.

Isso não tem nada a ver com ter usado MSVC, BCC ou MINGW, estranhei estar neste tópico.
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/
Responder