FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour No puedo COMPILAR - SOLUCIONADO
Posts: 351
Joined: Fri May 19, 2006 04:08 PM

No puedo COMPILAR - SOLUCIONADO

Posted: Mon Sep 07, 2026 05:51 PM

Buenos días gente. Hace ya mas de una semana que pude actualizarme al ultimo release de Fivewin de Agosto del 2026 y todavía no puedo compilar ni siquiera un "HOLA MUNDO". Explico la configuración que utilizo desde siempre: Toda la configuración la tengo en una solo directorio para tener la opción de tenerlo también en un pendrive....porque? ya me paso de tenerlo en máquinas del cliente y alguien o algunos "...lo tomaron prestado sin permiso". Ya instale el Microsoft Visual Studio sin ningún drama, instalando mas de 7Gb. por consejo de Antonio solo la opción de C++ con lo cual se instalo aproximadamente unos 6Gb... pero realmente no se que tomar de todos esos archivos los que necesito para compilar. Además estuve analizando los .bat del directorio Samples de Fivewin y hace referencia al directorio ProgramFiles(x86)\Windows Kits\10\Include\10.0.18362.0\ucrt %1.c pero en mi instalación de Windows 11 Pro no existe, en su lugar solo hay ProgramFiles(x86)\Windows Kits\10\UnionMetadata\Facade\Windows.WinMD ??? Alguien por favor tiene alguna configuración similar a la mía y/o pudiera orientarme ? desde ya muchísimas gracias y disculpen la molestia

FWH 32/64 14.04

Harbour 3.2.0 (r1306211258)

PellesC
Posts: 154
Joined: Mon Oct 22, 2012 04:43 PM

Re: No puedo COMPILAR

Posted: Mon Sep 07, 2026 06:48 PM

¿Ya has instalado la última versión de Harbour?
https://github.com/FiveTechSoft/Harbour_builder/actions/runs/33276177706#artifacts

Regards



Ing. Anton Lerchster
Posts: 44508
Joined: Thu Oct 06, 2005 05:47 PM

Re: No puedo COMPILAR

Posted: Mon Sep 07, 2026 07:44 PM

Estimado Miguel Angel,

El problema principal es doble: te falta marcar el componente específico del Windows 10/11 SDK en el instalador de Visual Studio (por eso solo ves UnionMetadata), y necesitas ajustar las rutas del script de compilación para que apunte a tu versión exacta o aislar lo necesario en tu estructura portable.

Para resolverlo paso a paso:

1. Instalar el Windows SDK que falta
Visual Studio permite instalar el compilador C++ sin incluir los headers y librerías del sistema operativo si no se marca la casilla correspondiente.

  1. Abre Visual Studio Installer.
  2. Pulsa en Modificar en tu versión de Visual Studio.
  3. En la pestaña Cargas de trabajo, dentro de Desarrollo para el escritorio con C++, revisa el panel lateral derecho (Detalles de la instalación).
  4. Asegúrate de marcar SDK de Windows 10 (o Windows 11) (por ejemplo, 10.0.22621.0 o superior).
  5. Aplica los cambios. Al terminar, la carpeta C:\Program Files (x86)\Windows Kits\10\Include\... contendrá ucrt, um, shared, etc.

---

2. Ajustar buildm.bat (o build32.bat / build64.bat)
El .bat de \samples viene con versiones fijas de plantilla (como 10.0.18362.0 o rutas a VS 2019/2022). Debes adaptarlo a los números de versión que se hayan creado en tu disco:

  • Directorio de MSVC: Suele ser:
    C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\<versión>\
  • Directorio de Windows Kits: Revisa en:
    C:\Program Files (x86)\Windows Kits\10\Include\ qué carpeta numérica tienes (por ejemplo, 10.0.22621.0).
    Esa misma versión numérica debe coincidir en la ruta de librerías:
    C:\Program Files (x86)\Windows Kits\10\Lib\<versión>\ucrt\x86 (o x64).

---

3. Qué necesitas copiar si quieres mantenerlo "portable" (en pendrive / carpeta única)
Si compilas para 32 bits (o 64 bits), no necesitas los 6 GB completos de Visual Studio. Lo mínimo imprescindible para enlazar con Harbour y FiveWin son tres carpetas:

  • Compilador y Tools de MSVC:
  • bin\Hostx86\x86 (o Hostx64\x64): cl.exe, link.exe, c1.dll, c2.dll, etc.
  • include: headers estándar de C/C++ (stdio.h, stdlib.h, etc.).
  • lib\x86 (o x64): librerías de runtime (libcmt.lib, msvcrt.lib, etc.).
  • Windows SDK:
  • Include\<versión>\ucrt, \um, \shared.
  • Lib\<versión>\ucrt\x86, \um\x86.

Alternativa recomendada para probar primero: En lugar de llamar a buildm.bat directamente desde un CMD normal, abre la consola nativa de Visual Studio: x86 Native Tools Command Prompt for VS (o x64 si compilas a 64 bits). En esa consola el entorno (INCLUDE, LIB, PATH) ya está configurado automáticamente por Microsoft, lo que evita pelear con rutas absolutas en el .bat.

¿Estás compilando en 32 bits o en 64 bits con Harbour?

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 351
Joined: Fri May 19, 2006 04:08 PM

Re: No puedo COMPILAR

Posted: Tue Sep 08, 2026 12:38 AM

Gracias Antonio ... si me di cuenta que por ahi venia la cosa y volvi a instalar como vos bien los explicas y ya tengo CREO todo lo que necesito. Estoy viendo como hago la "ensalada" de archivos para que quede en un solo directorio portable. De a poco estoy de jando los 32bits. pero desde hace bastante tiempo que todo lo que desarrolo es en 64bits Gracias Infinitas. Abrazo

FWH 32/64 14.04

Harbour 3.2.0 (r1306211258)

PellesC
Posts: 351
Joined: Fri May 19, 2006 04:08 PM

Re: No puedo COMPILAR

Posted: Tue Sep 08, 2026 03:14 PM

Buenos dias a todos Antonio para que es esta llamada: call "%ProgramFiles%\Microsoft Visual Studio\18\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64 Es mecesaria ? Abrazo

FWH 32/64 14.04

Harbour 3.2.0 (r1306211258)

PellesC
Posts: 44508
Joined: Thu Oct 06, 2005 05:47 PM

Re: No puedo COMPILAR

Posted: Tue Sep 08, 2026 03:19 PM

Ese comando sirve para inicializar las variables de entorno necesarias para compilar código C/C++ desde la línea de comandos usando las herramientas de Microsoft Visual C++ (MSVC) para la arquitectura de 64 bits (x64/amd64).

Qué hace exactamente cada parte

call: Ejecuta un script .bat dentro de la sesión actual de la terminal sin cerrarla al terminar.

vcvarsall.bat: Es el script oficial de Visual Studio encargado de configurar variables críticas como PATH, INCLUDE y LIB. Sin estas variables, el sistema no sabe dónde encontrar el compilador (cl.exe), el enlazador (link.exe), el gestor de compilación (nmake.exe) ni las librerías del Windows SDK.

amd64: Indica que se deben cargar las herramientas nativas de 64 bits para generar ejecutables de 64 bits.

¿Es necesaria?

Depende totalmente de cómo y dónde estés compilando:

Sí es necesaria si:

Estás usando la consola estándar (cmd.exe), PowerShell o un script automatizado (CI/CD, scripts .bat) para compilar con herramientas como CMake, Ninja, Meson, o directamente con cl.exe.

Estás instalando paquetes de Python, Node.js (con node-gyp) o Rust que compilan extensiones nativas en C/C++ usando MSVC desde una terminal común.

No es necesaria si:

Ya abres la "Developer Command Prompt for VS" o "x64 Native Tools Command Prompt" desde el Menú Inicio (estas ventanas ya ejecutan este script automáticamente al abrirse).

Trabajas directamente dentro del entorno gráfico de Visual Studio IDE (el botón verde "Compilar / Build" maneja el entorno de forma interna).

Utilizas extensiones o herramientas que localizan automáticamente las rutas del compilador en el registro sin depender del entorno global.

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 351
Joined: Fri May 19, 2006 04:08 PM

Re: No puedo COMPILAR

Posted: Tue Sep 08, 2026 04:00 PM

Ok. Gracias Antonio

FWH 32/64 14.04

Harbour 3.2.0 (r1306211258)

PellesC
Posts: 351
Joined: Fri May 19, 2006 04:08 PM

Re: No puedo COMPILAR - SOLUCIONADO

Posted: Tue Sep 08, 2026 07:48 PM

Aleluya !!! Al fin pude compilar perfectamente como Dios manda. :D
Gracias Antonio por tu apoyo sin el cual todavía estaría en cero.
Bueno ahora solo me queda enterarme de todo los nuevo sobretodo con xBrowse... consideren que mi ultima actualizacion si mal no recuardo es del febrero/marzo del 2014 :cry: ...seguramente andaré jorobando con preguntas por esto lados
Gracias
Abrazos

FWH 32/64 14.04

Harbour 3.2.0 (r1306211258)

PellesC

Continue the discussion