Page 1 of 4

Enlazar y compilar con el editor VSCode

Posted: Fri Mar 27, 2020 1:46 pm
by acuellar
Estimados

He logrado enlazar y compilar con el editor VSCode de Microsoft utilizando BuildH.BAT
Falta crear proyecto y la configuración directa para evitar buildH.bat. Quizas Antonio nos pueda ayudar.

Si lo quieren probar éstos son los pasos a seguir

Code: Select all

- Descargar https://code.visualstudio.com/download
- Instalar VSCode en la carpeta deseada
- Iniciar
INSTALAR LAS SIGUIENTES EXTENSIONES:
- Spanish Language Pack Para español 
- Harbour and xHarbour de Antonino Perricone
- Vscode-Icons Para añadir iconos personalizados al explorador
- Clipboard History Historial del portapapeles para copiar y pegar.

Es posible que se tengan que instalar mas extensiones que no tengo conocimiento.
 
CREAR LOS SIGUIENTES ARCHIVOS:

VSCPRUEBA.PRG

Code: Select all

#include "FiveWin.ch"
Function Main()
 
  ? "Hello, world!"
  
return nil
 
launch.json

Code: Select all

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "harbour-dbg",
            "request": "launch",
            "name": "Iniciar programa Harbour VSCPrueba",
            "program": "${workspaceFolder}\\VSCPrueba",
            "stopOnEntry": false,
            "preLaunchTask": "CompileDebug",
            "postDebugTask": "",
            "workingDir": "${workspaceFolder}\\",
            "sourcePaths": ["${workspaceFolder}"]
        }
        
        ]
}
 
tasks.json

Code: Select all

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "CompileDebug",
            "type": "shell",
            "command": "D:\\Sistemas\\VSCPrueba\\go.bat",
            "args": ["debug"],
            "presentation": {
                "echo": true,
                "reveal": "always",
                "focus": true,
                "panel": "shared",
                "showReuseMessage": false,
                "clear": true
            } 
          },
          {
            "label": "CompileRelease",
            "type": "shell",
            "command": "D:\\Sistemas\\VSCPrueba\\go.bat",
            "args": ["release"],
            "presentation": {
                "echo": true,
                "reveal": "always",
                "focus": true,
                "panel": "shared",
                "showReuseMessage": false,
                "clear": true
            }
          }
        ]
}
 
go.bat

Code: Select all

@ECHO OFF
BuildH VSCPrueba
 
El buildH.bat viene en FWH

Espero les ayude y quieran cambiar de Editor.

Re: Enlazar y compilar con el editor VSCode

Posted: Fri Mar 27, 2020 6:18 pm
by Antonio Linares
Adhemar,

Tal vez puede servirnos para gestionar los proyectos:

https://marketplace.visualstudio.com/it ... ct-manager

Re: Enlazar y compilar con el editor VSCode

Posted: Fri Mar 27, 2020 7:38 pm
by acuellar
Gracias Antonio

Instalé la Extensión Project Manager

No encuentro la forma de como crear el proyecto.

Busque en Internet, hay muy poca información de como hacerlo.

Re: Enlazar y compilar con el editor VSCode

Posted: Tue Mar 31, 2020 1:11 pm
by acuellar
Buenas estimados,

Alguien que use VSCODE para que me de una ayuda de como configurar para crear proyectos.

Gracias de antemano.

Re: Enlazar y compilar con el editor VSCode

Posted: Tue Mar 31, 2020 4:42 pm
by Antonio Linares
Adhemar,

Así funciona:

tasks.json

Code: Select all

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "type": "shell",
            "command": ".\\go.bat",
        }
    ]
}
go.bat

Code: Select all

set oldpath=%path%
set path=c:\bcc7\bin;%path%
c:\harbour\bin\hbmk2 -Ic:\fwh\include test.prg -Lc:\fwh\lib -lfiveh -lfivehc xhb.hbc hbct.hbc hbwin.hbc hbmzip.hbc hbziparc.hbc
test.exe
set path=%oldpath%
Reemplazando test.prg con proyecto.hbp ya podemos compilar multiples PRGs y de paso meter en él los parámetros usados:

proyecto.hbp

Code: Select all

test.prg
another.prg
-Ic:\fwh\include

-Lc:\fwh\lib
-lfiveh
-lfivehc

xhb.hbc 
hbct.hbc 
hbwin.hbc 
hbmzip.hbc 
hbziparc.hbc
 
c:\harbour\bin\hbmk2 proyecto.hbp

Para constuir desde el vscode: Shift + Ctrl + B

Image

Re: Enlazar y compilar con el editor VSCode

Posted: Tue Mar 31, 2020 5:08 pm
by Antonio Linares
O simplemente desde el terminal ejecutas :-)

.\go.bat

Re: Enlazar y compilar con el editor VSCode

Posted: Tue Mar 31, 2020 5:49 pm
by acuellar
Muchas Gracias Antonio

Ya hice todos _ y me sale error

Code: Select all

Executing task in folder VSCPrueba: D:\Sistemas\VSCPrueba\go.bat <


D:\Sistemas\VSCPrueba>set oldpath=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Users\acuellar\AppData\Local\Microsoft\WindowsApps;;D:\Sistemas\Compiler\VSCode\bin

D:\Sistemas\VSCPrueba>set path=D:\Sistemas\Compiler\BCC7\BIN;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Users\acuellar\AppData\Local\Microsoft\WindowsApps;;D:\Sistemas\Compiler\VSCode\bin

D:\Sistemas\VSCPrueba>D:\Sistemas\Compiler\Harbour\bin\hbmk2 -ID:\Sistemas\Compiler\FWH\include vscprueba.hbp -LD:\Sistemas\Compiler\FWH\LIB -lfiveh -lfivehc xhb.hbc hbct.hbc hbwin.hbc hbmzip.hbc hbziparc.hbc
hbmk2[vscprueba]: Warning: Cannot find xhb.hbc (referenced from vscprueba.hbp)
hbmk2[vscprueba]: Warning: Cannot find hbct.hbc (referenced from vscprueba.hbp)
hbmk2[vscprueba]: Warning: Cannot find hbwin.hbc (referenced from
                  vscprueba.hbp)
hbmk2[vscprueba]: Warning: Cannot find hbmzip.hbc (referenced from
                  vscprueba.hbp)
hbmk2[vscprueba]: Warning: Cannot find hbziparc.hbc (referenced from
                  vscprueba.hbp)
hbmk2[vscprueba]: Warning: Cannot find xhb.hbc
hbmk2[vscprueba]: Warning: Cannot find hbct.hbc
hbmk2[vscprueba]: Warning: Cannot find hbwin.hbc
hbmk2[vscprueba]: Warning: Cannot find hbmzip.hbc
hbmk2[vscprueba]: Warning: Cannot find hbziparc.hbc
Harbour 3.2.0dev (r1909261630)
Copyright (c) 1999-2019, https://harbour.github.io/
Compiling 'vscprueba.prg'...
Lines 4748, Functions/Procedures 1
Generating C source output to 'C:\Users\acuellar\AppData\Local\Temp\hbmk_uelo69.dir\vscprueba.c'... Done.
C:\Users\acuellar\AppData\Local\Temp\hbmk_uelo69.dir\vscprueba.c:
Turbo Incremental Link 6.80 Copyright (c) 1997-2017 Embarcadero Technologies, Inc.
Error: Unresolved external '_HB_FUN_CTOT' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|VALBLANK
Error: Unresolved external '_HB_FUN_HB_FUNCPTR' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|CHECKRES
Error: Unresolved external '_HB_FUN_TOLEAUTO' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|HARBOUR
Error: Unresolved external '_HB_FUN_CHARREPL' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|VALTOSTR
Error: Unresolved external '_HB_FUN_REMRIGHT' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|VALTOSTR
Error: Unresolved external '_HB_FUN_OCCURS' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|VALTOSTR
Error: Unresolved external '_HB_FUN_LOG10' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|VALTOSTR
Error: Unresolved external '_HB_FUN_FLOOR' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|VALTOSTR
Error: Unresolved external '_HB_FUN_BEFORATNUM' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|VALTOSTR
Error: Unresolved external '_HB_FUN_CHARONLY' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|VALTOSTR
Error: Unresolved external '_HB_FUN_CHARREM' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|VALTOSTR
Error: Unresolved external '_HB_FUN_ADDMONTH' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|VALTOSTR
Error: Unresolved external '_HB_FUN_EOM' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|VALTOSTR
Error: Unresolved external '_HB_FUN_TIMETOSEC' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|VALTOSTR
Error: Unresolved external '_HB_FUN_OS_ISWTSCLIENT' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|MENU
Error: Unresolved external '_HB_FUN_HHASKEY' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|FWDECODE
Error: Unresolved external '_HB_FUN_NUMAT' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|MENUITEM
Error: Unresolved external '_HB_FUN_ANSITOWIDE' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|TGDIPLUS
Error: Unresolved external '_HB_FUN_AFTERATNUM' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|BTNBMP
Error: Unresolved external '_HB_FUN_CEILING' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|XBROWSE
Error: Unresolved external '_HB_FUN_EXENAME' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|XBROWSE
Error: Unresolved external '_HB_FUN_TXMLDOCUMENT' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|XMLVIEW
Error: Unresolved external '_HB_FUN_HEVAL' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|XMLVIEW
Error: Unresolved external '_HB_FUN_TOKEN' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|DBFFUNC1
Error: Unresolved external '_HB_FUN_HSETCASEMATCH' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|TRECSET
Error: Unresolved external '_HB_FUN_HGETCASEMATCH' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|TRECSET
Error: Unresolved external '_HB_FUN_STRTOHEX' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|TRECSET
Error: Unresolved external '_HB_FUN_HB_ENUMINDEX' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|DATAROW
Error: Unresolved external '_HB_FUN_HB_DECODE' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|PGSUPORT
Error: Unresolved external '_HB_FUN_HEXTOSTR' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|PGSUPORT
Error: Unresolved external '_HB_FUN_ATTOKEN' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|PGSUPORT
Error: Unresolved external '_HB_FUN_BLANK' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|DBCOMBO
Error: Unresolved external '_HB_FUN_HSET' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|DATAROW
Error: Unresolved external '_HB_FUN_GETACTIVEOBJECT' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|OLEFUNCS
Error: Unresolved external '_HB_FUN_CREATEOBJECT' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|OLEFUNCS
Error: Unresolved external '_HB_FUN_TRUENAME' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|OLEFUNCS
Error: Unresolved external '_HB_FUN_HB_GETFILESINZIP' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|OLEFUNCS
Error: Unresolved external '_HB_FUN_HB_UNZIPOPEN' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|OLEFUNCS
Error: Unresolved external '_HB_FUN_HB_UNZIPFILEFIRST' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|OLEFUNCS
Error: Unresolved external '_HB_FUN_HB_UNZIPFILEINFO' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|OLEFUNCS
Error: Unresolved external '_HB_FUN_HB_UNZIPFILEOPEN' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|OLEFUNCS
Error: Unresolved external '_HB_FUN_HB_UNZIPFILEREAD' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|OLEFUNCS
Error: Unresolved external '_HB_FUN_HB_UNZIPFILECLOSE' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|OLEFUNCS
Error: Unresolved external '_HB_FUN_HB_UNZIPFILENEXT' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|OLEFUNCS
Error: Unresolved external '_HB_FUN_HB_UNZIPCLOSE' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|OLEFUNCS
Error: Unresolved external '_HB_FUN_TTOS' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|DBFFUNC2
Error: Unresolved external '_HB_FUN_STOT' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|DBFFUNC2
Error: Unresolved external '_HB_FUN_DATETIME' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|ADOFUNCS
Error: Unresolved external '_HB_FUN_REMALL' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|ADOFUNCS
Error: Unresolved external '_HB_FUN_RANGEREPL' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|ADOFUNCS
Error: Unresolved external '_HB_FUN___OLEVARIANTNEW' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|ADOFUNCS
Error: Unresolved external '_HB_FUN_HB_EXEC' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|ADOFUNCS
Error: Unresolved external '_HB_FUN_HB_REGEXREPLACE' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|ADOFUNCS
Error: Unresolved external '_HB_FUN_ATSKIPSTRINGS' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|ADOFUNCS
Error: Unresolved external '_HB_FUN_CHARONE' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|ADOFUNCS
Error: Unresolved external '_HB_FUN_REMLEFT' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|ADOFUNCS
Error: Unresolved external '_HB_FUN_WILDMATCH' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|XBROWSE
Error: Unresolved external '_HB_FUN_NUMTOHEX' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|XBROWSE
Error: Unresolved external '_HB_FUN_WIDETOANSI' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|TRICHED5
Error: Unresolved external '_HB_FUN_I18N' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|TRICHED5
Error: Unresolved external '_hb_oleVariantToItem' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEHC.LIB|ACTX
Error: Unresolved external '_hb_oleItemToVariant' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEHC.LIB|ACTX
Error: Unresolved external '_hb_oleParam' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEHC.LIB|ACTX
Error: Unresolved external '_HB_FUN_WIN_AXINIT' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|ACTIVEX
Error: Unresolved external '_HB_FUN_WAPI_CREATEWINDOWEX' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|ACTIVEX
Error: Unresolved external '_HB_FUN_WIN_AXGETCONTROL' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|ACTIVEX
Error: Unresolved external '_HB_FUN_WAPI_OUTPUTDEBUGSTRING' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|ACTIVEX       
Error: Unresolved external '_HB_FUN_CHARMIRR' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|VALTOSTR
Error: Unresolved external '_HB_FUN_CHARSWAP' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|VALTOSTR
Error: Unresolved external '_HB_FUN_HEXTONUM' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|IMGTXTIO
Error: Unresolved external '_HB_FUN_NOTIFY' referenced from D:\SISTEMAS\COMPILER\FWH\LIB\FIVEH.LIB|WINDOW
Error: Unable to perform link
hbmk2[vscprueba]: Error: Running linker. 2
ilink32.exe @C:\Users\acuellar\AppData\Local\Temp\p8gxfb.lnk

hbmk2: Error: Referenced, missing, but unknown function(s): CTOT(),
       HB_FUNCPTR(), TOLEAUTO(), CHARREPL(), REMRIGHT(), OCCURS(), LOG10(),
       FLOOR(), BEFORATNUM(), CHARONLY(), CHARREM(), ADDMONTH(), EOM(),
       TIMETOSEC(), OS_ISWTSCLIENT(), HHASKEY(), NUMAT(), ANSITOWIDE(),
       AFTERATNUM(), CEILING(), EXENAME(), TXMLDOCUMENT(), HEVAL(), TOKEN(),
       HSETCASEMATCH(), HGETCASEMATCH(), STRTOHEX(), HB_ENUMINDEX(),
       HB_DECODE(), HEXTOSTR(), ATTOKEN(), BLANK(), HSET(), GETACTIVEOBJECT(),
       CREATEOBJECT(), TRUENAME(), HB_GETFILESINZIP(), HB_UNZIPOPEN(),
       HB_UNZIPFILEFIRST(), HB_UNZIPFILEINFO(), HB_UNZIPFILEOPEN(),
       HB_UNZIPFILEREAD(), HB_UNZIPFILECLOSE(), HB_UNZIPFILENEXT(),
       HB_UNZIPCLOSE(), TTOS(), STOT(), DATETIME(), REMALL(), RANGEREPL(),
       __OLEVARIANTNEW(), HB_EXEC(), HB_REGEXREPLACE(), ATSKIPSTRINGS(),
       CHARONE(), REMLEFT(), WILDMATCH(), NUMTOHEX(), WIDETOANSI(), I18N(),
       WIN_AXINIT(), WAPI_CREATEWINDOWEX(), WIN_AXGETCONTROL(),
       WAPI_OUTPUTDEBUGSTRING(), CHARMIRR(), CHARSWAP(), HEXTONUM(), NOTIFY()
 

Re: Enlazar y compilar con el editor VSCode

Posted: Tue Mar 31, 2020 5:55 pm
by Antonio Linares
Adhemar,

Tienes que descargar Harbour completo desde su repositorio:

git clone https://github.com/harbour/core harbour

Ejecuta eso desde c:\ usando una ventana cmd

Re: Enlazar y compilar con el editor VSCode

Posted: Tue Mar 31, 2020 7:09 pm
by acuellar
Gracias Antonio

Dónde coloco éstos archivos
xhb.hbc hbct.hbc hbwin.hbc hbmzip.hbc hbziparc.hbc
para que los encuentre

Re: Enlazar y compilar con el editor VSCode

Posted: Tue Mar 31, 2020 7:31 pm
by Antonio Linares
Adhemar,

Déjalos donde estan tras hacer el git clone.

hbmk2 los busca automaticamente :-)

Re: Enlazar y compilar con el editor VSCode

Posted: Tue Mar 31, 2020 7:57 pm
by acuellar
Muchas gracias

Los coloqué en la carpeta del proyecto y lo generó

He descargado éste archivo: core-master.zip
Y no trae el hbmk2.exe y archivos están en diferentes carpetas.

Es el correcto?

Re: Enlazar y compilar con el editor VSCode

Posted: Tue Mar 31, 2020 9:30 pm
by acuellar
Estimado Antonio

Descargué harbour-nightly-win.zip
Las librerías vienen así: libhbrtl.a
Coloqué mis anterior librerías y genera el ejecutable.

Cómo se obtienen las nuevas librerías?

O no es es lo que debo descargar?

Muchas gracias por la ayuda.

Re: Enlazar y compilar con el editor VSCode

Posted: Tue Mar 31, 2020 10:12 pm
by Antonio Linares
Que compilador de C usas ?

Re: Enlazar y compilar con el editor VSCode

Posted: Tue Mar 31, 2020 10:20 pm
by acuellar
Embarcadero C++ 7.30 for Win32 Copyright (c) 1993-2017 Embarcadero Technologies, Inc.

Re: Enlazar y compilar con el editor VSCode

Posted: Tue Mar 31, 2020 10:36 pm
by Antonio Linares