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

Post Reply
rlblanco
Posts: 33
Joined: Wed Apr 16, 2008 6:24 pm

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

Post 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
User avatar
karinha
Posts: 4882
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

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

Post 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
 
João Santos - São Paulo - Brasil
User avatar
karinha
Posts: 4882
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

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

Post 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
 
João Santos - São Paulo - Brasil
rlblanco
Posts: 33
Joined: Wed Apr 16, 2008 6:24 pm

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

Post 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.
User avatar
karinha
Posts: 4882
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

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

Post by karinha »

Bién...

Ahora yo pregunto para usted:

Para que sirve esto:

Code: Select all

/gc0 
 
Que haces este comando?

Gracias, saludos.
João Santos - São Paulo - Brasil
rlblanco
Posts: 33
Joined: Wed Apr 16, 2008 6:24 pm

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

Post 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.
rlblanco
Posts: 33
Joined: Wed Apr 16, 2008 6:24 pm

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

Post 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.
User avatar
karinha
Posts: 4882
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

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

Post 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.
João Santos - São Paulo - Brasil
Post Reply