Page 1 of 1

Problemas al linkar. Fatal: Too many MAP file names:

Posted: Sun Dec 01, 2013 11:04 am
by rlblanco
Hola a todos.

Hasta que he descargado la versión 123 de xHarbour, usaba VERCE para compilar, pero ahora con esta versión no salen los errores al compilar, por lo que me decidí a hacer un build y dejar de usar VERCE hasta que se solucione el problema ( si su autor por supuesto tiene tiempo y quiere ), basandome en los ejemplos que he visto por el foro.

El problema es al linkar, me marca siempre este error :
Fatal: Too many MAP file names: QGTV32.obj

Estos son los dos ficheros del build que uso, por si alguien me puede echar una mano en ver donde está el error.

Muchas gracias.

Este es el bat de compilado y enlazado :

Code: Select all

@Echo Off
Cls
Echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
Echo ³ FiveWin For xHarbour 13.01 Enero de 2013 xHarbour Development Power       ³Ü
Echo ³ (c) FiveTech, 1993-2013 For Microsoft Windows 95/98/NT/2000/ME And XP     ³Û
Echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙÛ
Echo ÿ ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß

Echo .
Echo Espere... Compilando los Modulos del Programa... Procesando...
Echo Generando Archivo ERRO.LOG.
ECHO ON

Set hdir=C:\XHARBOUR121A
Set bcdir=C:\bcc582
Set fwhdir=C:\FWH1301

REM @If Exist *.Bak   Del *.Bak
@If Exist *.Obj       Del *.Obj
@If Exist *.Log       Del *.Log
@If Exist *.Map       Del *.Map
@If Exist *.PPO       Del *.Ppo
@If Exist  QGTV32.TDS Del QGTV32.TDS
REM @If Exist *.Bc        Del *.bc
@If Exist *.C         Del *.C
@If Exist  QGTV32.Exe Del QGTV32.Exe

If Exist  QGTV32.Exe Del  QGTV32.Exe

REM -> Area de Archivos con Extension *.PRG compilados con xHarbour121a y FiveWin 13.01


REM -- XHARBOUR ---

%hdir%\bin\harbour QGTV32 /m /n /es2 /gc0  /i%fwhdir%\include;%hdir%\include;%bcdir%\include /w0 /p > Erro.log

%hdir%\bin\harbour QGV /m /n /es2 /gc0  /i%fwhdir%\include;%hdir%\include;%bcdir%\include /w0 /p >> Erro.log

%hdir%\bin\harbour QGC /m /n /es2 /gc0  /i%fwhdir%\include;%hdir%\include;%bcdir%\include /w0 /p >> Erro.log

%hdir%\bin\harbour WRED /m /n /es2 /gc0  /i%fwhdir%\include;%hdir%\include;%bcdir%\include /w0 /p >> Erro.log


REM -- BORLAND ---

%bcdir%\bin\bcc32 -M -c -v -O2 -eQGTV32.exe -I%hdir%\include -I%bcdir%\include QGTV32.C >> Erro.log

%bcdir%\bin\bcc32 -M -c -v -O2 -eQGV.exe -I%hdir%\include -I%bcdir%\include QGV.C >> Erro.log

%bcdir%\bin\bcc32 -M -c -v -O2 -eQGC.exe -I%hdir%\include -I%bcdir%\include QGC.C >> Erro.log

%bcdir%\bin\bcc32 -M -c -v -O2 -eWRED.exe -I%hdir%\include -I%bcdir%\include WRED.C >> Erro.log


If ErrorLevel 1 Type Erro.log | More
If ErrorLevel 1 Goto Exit

:ENDCOMPILE

%bcdir%\bin\ilink32 -Gn -aa -Tpe -s @LQGTV32.LIN >> Erro.log

Echo .
IF ERRORLEVEL 1 GOTO LINKERROR
rem Cls
QGTV32
GOTO EXIT

:LINKERROR
PAUSE * Ha habido errores en el proceso de Linkado. Ver ERRO.LOG *
GOTO EXIT
Echo .
cls

:EXIT
Este el archivo de Linkado.

Code: Select all

REM LQGTV32.LIN

c:\bcc582\lib\c0w32.obj +
QGTV32.obj +
QGV.obj + 
QGC.obj +
WRED.obj, +  
QGTV32.exe, +
QGTV32.map, +
C:\fwh1301\lib\FiveHX.Lib +
C:\fwh1301\lib\FiveHC.Lib +
C:\XHARBOUR121A\lib\hbzip.Lib +
C:\XHARBOUR121A\lib\zlib.Lib +
C:\XHARBOUR121A\lib\rtl.Lib +
C:\XHARBOUR121A\lib\vm.Lib +
C:\XHARBOUR121A\lib\gtgui.Lib +
C:\XHARBOUR121A\lib\lang.Lib +
C:\XHARBOUR121A\lib\macro.Lib +
C:\XHARBOUR121A\lib\rdd.Lib +
C:\XHARBOUR121A\lib\dbfntx.Lib +
C:\XHARBOUR121A\lib\dbfcdx.Lib +
C:\XHARBOUR121A\lib\debug.Lib +
C:\XHARBOUR121A\lib\common.Lib +
C:\XHARBOUR121A\lib\tip.Lib +
C:\XHARBOUR121A\lib\pp.Lib +
C:\XHARBOUR121A\lib\dbffpt.Lib +
C:\XHARBOUR121A\lib\codepage.Lib +
C:\XHARBOUR121A\lib\HbSix.Lib +
C:\XHARBOUR121A\lib\PcRepos.Lib +
C:\XHARBOUR121A\Lib\ct.Lib +
C:\XHARBOUR121A\Lib\png.Lib +
C:\Bcc582\lib\cw32.Lib +
C:\Bcc582\lib\psdk\msimg32.Lib +
C:\Bcc582\lib\psdk\odbc32.Lib +
C:\Bcc582\lib\psdk\rasapi32.Lib +
C:\Bcc582\lib\psdk\nddeapi.Lib +
C:\Bcc582\lib\psdk\psapi.Lib +
C:\Bcc582\lib\psdk\iphlpapi.Lib +
C:\Bcc582\lib\import32.Lib +
C:\APL32\QSI32\SBROWSEX.LIB +
C:\APL32\QSI32\SBUTTONX.LIB, 
QGTV32.RES

Re: Problemas al linkar. Fatal: Too many MAP file names:

Posted: Mon Dec 02, 2013 11:55 am
by karinha
REM CX.BAT - Intente ahora,

Code: Select all

@Echo Off
Cls
Echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
Echo ³ FiveWin For xHarbour 13.01 Enero de 2013 xHarbour Development Power       ³Ü
Echo ³ (c) FiveTech, 1993-2013 For Microsoft Windows 95/98/NT/2000/ME And XP     ³Û
Echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙÛ
Echo ÿ ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß

Echo .
Echo Espere... Compilando los Modulos del Programa... Procesando...
Echo Generando Archivo ERRO.LOG.
ECHO ON

Set hdir=C:\XHARBOUR121A
Set bcdir=C:\bcc582
Set fwhdir=C:\FWH1301

REM @If Exist *.Bak   Del *.Bak
@If Exist *.Obj       Del *.Obj
@If Exist *.Log       Del *.Log
@If Exist *.Map       Del *.Map
@If Exist *.PPO       Del *.Ppo
@If Exist  QGTV32.TDS Del QGTV32.TDS
REM @If Exist *.Bc        Del *.bc
@If Exist *.C         Del *.C
@If Exist  QGTV32.Exe Del QGTV32.Exe

If Exist  QGTV32.Exe Del  QGTV32.Exe

REM -> Area de Archivos con Extension *.PRG compilados con xHarbour121a y FiveWin 13.01


REM -- XHARBOUR ---

%hdir%\bin\harbour QGTV32 /m/n/es2/gc0 /i%fwhdir%\include;%hdir%\include;%bcdir%\include /w0 /p > Erro.log

%hdir%\bin\harbour QGV    /m/n/es2/gc0 /i%fwhdir%\include;%hdir%\include;%bcdir%\include /w0 /p >> Erro.log

%hdir%\bin\harbour QGC    /m/n/es2/gc0 /i%fwhdir%\include;%hdir%\include;%bcdir%\include /w0 /p >> Erro.log

%hdir%\bin\harbour WRED   /m/n/es2/gc0 /i%fwhdir%\include;%hdir%\include;%bcdir%\include /w0 /p >> Erro.log


REM -- BORLAND ---

%bcdir%\bin\bcc32 -M -c -v -O2 -eQGTV32.exe -I%hdir%\include -I%bcdir%\include QGTV32.C >> Erro.log

%bcdir%\bin\bcc32 -M -c -v -O2 -eQGV.exe    -I%hdir%\include -I%bcdir%\include QGV.C >> Erro.log

%bcdir%\bin\bcc32 -M -c -v -O2 -eQGC.exe    -I%hdir%\include -I%bcdir%\include QGC.C >> Erro.log

%bcdir%\bin\bcc32 -M -c -v -O2 -eWRED.exe   -I%hdir%\include -I%bcdir%\include WRED.C >> Erro.log


If ErrorLevel 1 Type Erro.log | More
If ErrorLevel 1 Goto Exit

:ENDCOMPILE

REM %bcdir%\bin\ilink32 -Gn -aa -Tpe -s @LQGTV32.LIN  REM >> Erro.log  ???

REM CAMBIA POR:
%bcdir%\bin\ilink32 -Gn -aa -Tpe -s @Cx.Lnk

Echo .
IF ERRORLEVEL 1 GOTO LINKERROR
rem Cls
QGTV32
GOTO EXIT

:LINKERROR
PAUSE * Ha habido errores en el proceso de Linkado. Ver ERRO.LOG *
GOTO EXIT
Echo .
cls

:EXIT
 

Re: Problemas al linkar. Fatal: Too many MAP file names:

Posted: Mon Dec 02, 2013 11:56 am
by karinha
Grabar como CX.LNK

Code: Select all

C:\bcc582\lib\c0w32.Obj          +
QGTV32.obj                       +
QGV.obj                          +
QGC.obj                          +
WRED.obj,                        +
QGTV32.exe,                      +
QGTV32.map,                      +
C:\fwh1301\lib\FiveHX.Lib        +
C:\fwh1301\lib\FiveHC.Lib        +
C:\APL32\QSI32\SBROWSEX.LIB      +
C:\APL32\QSI32\SBUTTONX.LIB      +
C:\XHARBOUR121A\lib\hbzip.Lib    +
C:\XHARBOUR121A\lib\zlib.Lib     +
C:\XHARBOUR121A\lib\rtl.Lib      +
C:\XHARBOUR121A\lib\vm.Lib       +
C:\XHARBOUR121A\lib\gtgui.Lib    +
C:\XHARBOUR121A\lib\lang.Lib     +
C:\XHARBOUR121A\lib\macro.Lib    +
C:\XHARBOUR121A\lib\rdd.Lib      +
C:\XHARBOUR121A\lib\dbfntx.Lib   +
C:\XHARBOUR121A\lib\dbfcdx.Lib   +
C:\XHARBOUR121A\lib\debug.Lib    +
C:\XHARBOUR121A\lib\common.Lib   +
C:\XHARBOUR121A\lib\tip.Lib      +
C:\XHARBOUR121A\lib\pp.Lib       +
C:\XHARBOUR121A\lib\dbffpt.Lib   +
C:\XHARBOUR121A\lib\codepage.Lib +
C:\XHARBOUR121A\lib\HbSix.Lib    +
C:\XHARBOUR121A\lib\PcRepos.Lib  +
C:\XHARBOUR121A\Lib\ct.Lib       +
C:\XHARBOUR121A\Lib\png.Lib      +
C:\Bcc582\lib\cw32.Lib           +
C:\Bcc582\lib\psdk\msimg32.Lib   +
C:\Bcc582\lib\psdk\odbc32.Lib    +
C:\Bcc582\lib\psdk\rasapi32.Lib  +
C:\Bcc582\lib\psdk\nddeapi.Lib   +
C:\Bcc582\lib\psdk\psapi.Lib     +
C:\Bcc582\lib\psdk\iphlpapi.Lib  +
C:\Bcc582\lib\import32.Lib,
QGTV32.RES
 

Re: Problemas al linkar. Fatal: Too many MAP file names:

Posted: Mon Dec 02, 2013 7:17 pm
by rlblanco
Karinha,
Muchísímas gracias por tu ayuda y tu tiempo.
He cogido el código que has puesto y funcionó la compilación y linkado perfectamente.

Muy agradecido.

Un saludo.

Re: Problemas al linkar. Fatal: Too many MAP file names:

Posted: Mon Dec 02, 2013 7:39 pm
by karinha
Bién...

Ahora yo pregunto para usted:

Para que sirve esto:

Code: Select all

/gc0 
 
Que haces este comando?

Gracias, saludos.

Re: Problemas al linkar. Fatal: Too many MAP file names:

Posted: Mon Dec 02, 2013 11:41 pm
by rlblanco
Hola Karinha.

Flag -> /gc[<type>] output type: C source (.c) (default)
<type>: 0=compact 1=normal 2=verbose (default)

Al poner este flag /gc0 - El código del archivo .C es mucho menor y más eficiente.

Abre en tu editor un archivo .c generado el flag /gc0 y otro con el flag /gc1, por ejemplo.

Un saludo.

Re: Problemas al linkar. Fatal: Too many MAP file names:

Posted: Mon Dec 02, 2013 11:59 pm
by rlblanco
Karinha, quería hacer un comentario sobre el archivo .bat de la compilación.

Cuando compilo con la versión xharbour123, tal como has escrito las lineas de compilado :

Code: Select all

%hdir%\bin\harbour QGTV32 /m/n/es2/gc0 /i%fwhdir%\include;%hdir%\include;%bcdir%\include /w0 /p > Erro.log
existe el problema de que si se produce un error, el archivo erro.log te dice el número de errores cometidos, pero no en que linea del PRG se encuentran, ni la descripción del mismo,( Lo mismo que le ocurre a VERCE, con esta versión de xharbour, creo que con la última de harbour, también ).

He indagado por internet y he visto esto por si no lo conoces y te puede interesar, para que si muestre el error.

>Predefined file handles:
>1 - Standard Output Device (STDOUT)
>2 - Standard Error Device (STDERR)

He hecho pruebas y el código del .bat para compilar quedaría así ,( >1>erro.log 2>&1 ):

Code: Select all

%hdir%\bin\harbour QGTV32 /m/n/es2/gc0 /i%fwhdir%\include;%hdir%\include;%bcdir%\include /w0 /p >1>erro.log 2>&1
IF ERRORLEVEL 1 GOTO LINKERRO
Supongo que ya lo sabías, pero bueno, aquí lo pongo por si a alguien le interesa.

Un saludo, y muchas gracias por todo.

Re: Problemas al linkar. Fatal: Too many MAP file names:

Posted: Tue Dec 03, 2013 11:53 am
by karinha
rlblanco wrote:Hola Karinha.

Flag -> /gc[<type>] output type: C source (.c) (default)
<type>: 0=compact 1=normal 2=verbose (default)

Al poner este flag /gc0 - El código del archivo .C es mucho menor y más eficiente.

Abre en tu editor un archivo .c generado el flag /gc0 y otro con el flag /gc1, por ejemplo.

Un saludo.
Muchas gracias amigo.

Excelente, más sugerencias para mejorar el rendimiento de los ejecutables?

Gracias.