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
No puedo COMPILAR - SOLUCIONADO
-
El Loco
- Posts: 351
- Joined: Fri May 19, 2006 4:08 pm
- Location: Buenos Aires - Argentina
- Been thanked: 6 times
No puedo COMPILAR - SOLUCIONADO
Harbour 3.2.0 (r1306211258)
PellesC
- alerchster
- Posts: 154
- Joined: Mon Oct 22, 2012 4:43 pm
- Has thanked: 15 times
- Been thanked: 28 times
Re: No puedo COMPILAR
¿Ya has instalado la última versión de Harbour?
https://github.com/FiveTechSoft/Harbour ... #artifacts
Ing. Anton Lerchster
- Antonio Linares
- Site Admin
- Posts: 44508
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Has thanked: 717 times
- Been thanked: 311 times
- Contact:
Re: No puedo COMPILAR
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.
- Abre Visual Studio Installer.
- Pulsa en Modificar en tu versión de Visual Studio.
- 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).
- Asegúrate de marcar SDK de Windows 10 (o Windows 11) (por ejemplo,
10.0.22621.0o superior). - 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(ox64).
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(oHostx64\x64):cl.exe,link.exe,c1.dll,c2.dll, etc.include: headers estándar de C/C++ (stdio.h,stdlib.h, etc.).lib\x86(ox64): 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.batdirectamente 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?
-
El Loco
- Posts: 351
- Joined: Fri May 19, 2006 4:08 pm
- Location: Buenos Aires - Argentina
- Been thanked: 6 times
Re: No puedo COMPILAR
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
Harbour 3.2.0 (r1306211258)
PellesC
-
El Loco
- Posts: 351
- Joined: Fri May 19, 2006 4:08 pm
- Location: Buenos Aires - Argentina
- Been thanked: 6 times
Re: No puedo COMPILAR
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
Harbour 3.2.0 (r1306211258)
PellesC
- Antonio Linares
- Site Admin
- Posts: 44508
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Has thanked: 717 times
- Been thanked: 311 times
- Contact:
Re: No puedo COMPILAR
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.
-
El Loco
- Posts: 351
- Joined: Fri May 19, 2006 4:08 pm
- Location: Buenos Aires - Argentina
- Been thanked: 6 times
Re: No puedo COMPILAR - SOLUCIONADO
Aleluya !!! Al fin pude compilar perfectamente como Dios manda.
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
...seguramente andaré jorobando con preguntas por esto lados
Gracias
Abrazos
Harbour 3.2.0 (r1306211258)
PellesC