Page 1 of 1

Relinking errorsysw.prg

PostPosted: Mon Oct 28, 2013 4:54 pm
by HunterEC
Guys:

I'd made some changes to ERRSYSW.PRG, how can I link the new version back to my FWH libs so I can include it in all my programs ?

Thank you.

Re: Relinking errorsysw.prg

PostPosted: Tue Oct 29, 2013 2:25 pm
by karinha
Compile as a module of your program.
In the same directory of working

Regards,

Re: Relinking errorsysw.prg

PostPosted: Tue Oct 29, 2013 3:09 pm
by HunterEC
Karinha:

Thank you for your response. I'm looking for a way to include it without having the PRG in every project folder I work on. If I am to use it as you suggested, how do I include it with the BUILDX batch file ? Thank you.

Re: Relinking errorsysw.prg

PostPosted: Tue Oct 29, 2013 3:24 pm
by TimStone
I have a Special folder with custom programs. They all point to the same file at link time, no matter which project.

If you were to rebuild your lib, then you would have to make the change every time a new lib comes out. For a custom modification, its best to just keep a separate copy and address it in your link script.

Re: Relinking errorsysw.prg

PostPosted: Tue Oct 29, 2013 4:41 pm
by karinha
REM CX.BAT
@Echo Off
Cls
Echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
Echo ³ FiveWin For xHarbour 13.05 Maio de 2013 xHarbour Development Power ³Ü
Echo ³ (c) FiveTech, 1993-2013 For Microsoft Windows 95/98/NT/2000/ME And XP ³Û
Echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙÛ
Echo ÿ ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß

Echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
Echo ³ FiveWin For xHarbour 13.05 Maio de 2013 Contato Sistemas Ltda. ³Ü
Echo ³ Aguarde um Momento, Compilando Aplica‡Æo 32 Bits, Processamento Demorado ³Û
Echo ³ CopyRight(c) JoÆo@2007 - Todos os Direitos Reservados. SEFAZ3 32 Bits. ³Û
Echo ³ Participa‡Æo Especial Vagner Wirts - vwirts@ig.com.br - 11/04/2013 Inicio. ³Û
Echo ³ Agradecimentos Especiais - Gilmer Tavares - Virtual Objects Informatica ³Û
Echo ³ vendas@fivewin.com.br - suporte@fivewin.com.br - gilmer@fivewin.com.br ³Û
Echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙÛ
Echo ÿ ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß

Echo .
Echo Aguarde... Compilando os Modulos do Programa... Processamento Demorado
Echo Gerando o Arquivo ERRO.LOG, em Caso de Duvidas, Consulte-o. Borland C.

Rem Localiza‡Æo dos Paths
Set hdir=C:\XHARBOUR1303
Set bcdir=C:\bcc582
Set fwhdir=C:\FwH1306

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

If Exist FCI.Exe Del FCI.Exe

REM -> Area dos Arquivos com Extensao *.PRG Gerados em FiveWin 13.03 For xHarbour
%hdir%\bin\harbour FCI /m/n /i%fwhdir%\include;%hdir%\include;%bcdir%\include /w0 /p > Erro.log

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

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

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

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

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


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

rem %bcdir%\bin\bcc32 -M -c -O2 -eFCI.exe -I%hdir%\include FCI.c

:ENDCOMPILE

%bcdir%\bin\ilink32 -Gn -aa -Tpe -s @CXF.LNK

Echo .
IF ERRORLEVEL 1 GOTO LINKERROR
rem Cls
Echo .
Echo * Aplicacao Foi Desenvolvida Com Sucesso
Echo .
Echo * Aguarde um Momento, Compactando Aplicacao, Usando o UPX.EXE
Echo .
\UPX\UPX.EXE -9 FCI.EXE
Echo .
Echo * Aplicativo Foi Compactado Com Sucesso - Aguarde Execucao.
Echo .
Echo * Aguarde, Executando o Aplicativo, Gerado Com Sucesso Absoluto *
FCI
GOTO EXIT

:LINKERROR
PAUSE * Applicacao Nao Foi Desenvolvida Com Sucesso. Veja ERRO.LOG *
GOTO EXIT
Echo .
cls

:EXIT


Re: Relinking errorsysw.prg

PostPosted: Tue Oct 29, 2013 4:41 pm
by karinha
REM CX.LNK

C:\bcc582\lib\c0w32.Obj +
FCI.Obj +
AUXINDEX.Obj +
ERRSYSW.Obj, +
FCI.exe, +
FCI.map, +
C:\fwh1306\lib\FiveHX.Lib +
C:\fwh1306\lib\FiveHC.Lib +
C:\XHARBOUR1303\lib\hbzip.Lib +
C:\XHARBOUR1303\lib\zlib.Lib +
C:\XHARBOUR1303\lib\rtl.Lib +
C:\XHARBOUR1303\lib\vm.Lib +
C:\XHARBOUR1303\lib\gtgui.Lib +
C:\XHARBOUR1303\lib\lang.Lib +
C:\XHARBOUR1303\lib\macro.Lib +
C:\XHARBOUR1303\lib\rdd.Lib +
C:\XHARBOUR1303\lib\dbfntx.Lib +
C:\XHARBOUR1303\lib\dbfcdx.Lib +
C:\XHARBOUR1303\lib\debug.Lib +
C:\XHARBOUR1303\lib\common.Lib +
C:\XHARBOUR1303\lib\tip.Lib +
C:\XHARBOUR1303\lib\pp.Lib +
C:\XHARBOUR1303\lib\dbffpt.Lib +
C:\XHARBOUR1303\lib\codepage.Lib +
C:\XHARBOUR1303\lib\HbSix.Lib +
C:\XHARBOUR1303\lib\PcRepos.Lib +
C:\XHARBOUR1303\Lib\ct.Lib +
C:\XHARBOUR1303\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,
FCI.RES



Re: Relinking errorsysw.prg

PostPosted: Thu Oct 31, 2013 5:41 am
by HunterEC
Karinah:

Thanks for the tip. Here's my buildx.bat It compiles ERRSYSW.PRG but seems not to link it. I included a MsgInfo() (in ERRSYSW) and it does not show:

Code: Select all  Expand view
@ECHO OFF
CLS
ECHO ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
ECHO ³ FiveWin for xHarbour 10.6 - Jun. 2010           xHarbour development power ³Ü
ECHO ³ (c) FiveTech, 1993-2010     for Microsoft Windows 9X/NT/200X/ME/XP/Vista/7 ³Û
ECHO ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙÛ
ECHO ÿ ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß

if A%1 == A GOTO :SINTAX
if NOT EXIST %1.prg GOTO :NOEXIST

ECHO Compiling...

if "%FWDIR%" == "" set FWDIR=e:\comp\fwh\
if "%XHDIR%" == "" set XHDIR=e:\comp\xHarbourB
rem if "%2" == "/b" set GT=gtwin
rem if not "%2" == "/b" set GT=gtgui
set GT=gtgui

set hdir=%XHDIR%
set hdirl=%hdir%\lib
set bcdir=e:\Comp\Borland\bcc582
set fwh=%FWDIR%

%hdir%\bin\harbour %1 /n /i%fwh%\include;%hdir%\include /w /p %2 %3 > comp.log

%hdir%\bin\harbour ERRSYSW /m/n /i%fwdir%\include;%hdir%\include;%bcdir%\include /w0 /p >> Comp.log

IF ERRORLEVEL 1 GOTO COMPILEERRORS
@type comp.log

echo -O2 -e%1.exe -I%hdir%\include -I%bcdir%\include %1.c > b32.bc

%bcdir%\bin\bcc32 -M -c -v -O2 -eERRSYSW.exe -I%hdir%\include -I%bcdir%\include ERRSYSW.C >> @b32.bc

%bcdir%\bin\bcc32 -M -c -v @b32.bc

:ENDCOMPILE

IF EXIST %1.rc %bcdir%\bin\brc32 -r -I%bcdir%\include %1

echo %bcdir%\lib\c0w32.obj + > b32.bc
echo %1.obj, + >> b32.bc
echo %1.exe, + >> b32.bc
echo %1.map, + >> b32.bc
echo %fwh%\lib\Fivehx.lib %fwh%\lib\FiveHC.lib + >> b32.bc
echo %fwh%\lib\png.lib %fwh%\lib\png.lib + >> b32.bc
echo %hdirl%\rtl.lib + >> b32.bc
echo %hdirl%\vm.lib + >> b32.bc
echo %hdirl%\%GT%.lib + >> b32.bc
echo %hdirl%\lang.lib + >> b32.bc
echo %hdirl%\macro.lib + >> b32.bc
echo %hdirl%\rdd.lib + >> b32.bc
echo %hdirl%\dbfntx.lib + >> b32.bc
echo %hdirl%\dbfcdx.lib + >> b32.bc
echo %hdirl%\dbffpt.lib + >> b32.bc
echo %hdirl%\hbsix.lib + >> b32.bc
echo %hdirl%\debug.lib + >> b32.bc
echo %hdirl%\common.lib + >> b32.bc
echo %hdirl%\pp.lib + >> b32.bc
echo %hdirl%\pcrepos.lib + >> b32.bc

rem echo %hdirl%\six.lib + >> b32.bc
echo %hdirl%\sixcdx.lib + >> b32.bc
rem echo e:\comp\xhb\lib\sde61.lib + >> b32.bc

echo %hdirl%\ct.lib + >> b32.bc
echo %hdirl%\zlib.lib + >> b32.bc
echo %hdirl%\hbzip.lib + >> b32.bc

rem Uncomment these two lines to use Advantage RDD
rem echo %hdir%\lib\rddads.lib + >> b32.bc
rem echo %hdir%\lib\Ace32.lib + >> b32.bc

echo %bcdir%\lib\cw32.lib + >> b32.bc
echo %bcdir%\lib\import32.lib + >> b32.bc
echo %bcdir%\lib\uuid.lib + >> b32.bc
echo %bcdir%\lib\psdk\odbc32.lib + >> b32.bc
echo %bcdir%\lib\psdk\rasapi32.lib + >> b32.bc
echo %bcdir%\lib\psdk\nddeapi.lib + >> b32.bc
echo %bcdir%\lib\psdk\msimg32.lib + >> b32.bc
echo %bcdir%\lib\psdk\iphlpapi.lib, >> b32.bc

IF EXIST %1.res echo %1.res >> b32.bc

rem uncomment this line to use the debugger and comment the following one
if %GT% == gtwin %bcdir%\bin\ilink32 -Gn -Tpe -s -v @b32.bc
IF ERRORLEVEL 1 GOTO LINKERROR
if %GT% == gtgui %bcdir%\bin\ilink32 -Gn -aa -Tpe -s -v @b32.bc
IF ERRORLEVEL 1 GOTO LINKERROR
ECHO * Application successfully built *
%1
GOTO EXIT
ECHO

rem delete temporary files
@del %1.c

:COMPILEERRORS
@type comp.log
ECHO * Compile errors *
GOTO EXIT

:LINKERROR
ECHO * Linking errors *
GOTO EXIT

:SINTAX
ECHO    SYNTAX: Build [Program]     {-- No especifiques la extensi¢n PRG
ECHO                                {-- Don't specify .PRG extension
GOTO EXIT

:NOEXIST
ECHO The specified PRG %1 does not exist

:EXIT



Thank you very much for your help.

Re: Relinking errorsysw.prg

PostPosted: Thu Oct 31, 2013 5:42 am
by HunterEC
Tim:

Thank you for sharing your tip. Can you show how you do it ? Your help is greatly appreciated.

Re: Relinking errorsysw.prg

PostPosted: Thu Oct 31, 2013 9:05 pm
by TimStone
I do my builds with xBuild ( xHarbour.com ) and UE Studio ( Harbour ). In both cases the makefiles are automatic.

All of my work is in one place. I use this folder structure

C:
\Projects
\ Proj01
\Source
\Release
\ Proj02
\Source
\Release
\Libs
\Special

I actually have more project directories and they have release and debug outputs. In the root of each project folder is the build script. Also in the folder are all the source files unique to that project.

I have a variety of 3rd party libs and the most current version is always present in the \Libs folder. These are unique and not part of the FWH, Harbour/xHarbour, or MSVC libraries

When I create a special function ( .prg ) I keep it in the Special folder. Thus, I only have to upgrade one copy of that file and it applies universally.

When I do a compile/build, I simply add to the makefile the name of the programs in the \Special folder ( and the path ) if I want them included in the build.

This process works well for me.

Tim

Re: Relinking errorsysw.prg

PostPosted: Fri Nov 01, 2013 7:02 am
by HunterEC
Tim:

What version of xHarbour are you using ? Are you using Microsoft C or Borland's ? Can you post a sample make file ? Thank you very much.

Re: Relinking errorsysw.prg

PostPosted: Fri Nov 01, 2013 3:05 pm
by TimStone
I use xHarbour (.com ) from August 2010.

I have an alternate build with MSVC 2012. I do not use Borland.

The .mak file is very long, and I'm not sure it would be helpful. The .mak files are created by UE Studio or xBuild.

Tim

Re: Relinking errorsysw.prg

PostPosted: Sat Nov 02, 2013 7:17 am
by HunterEC
Tim:

As per Antonio's advice I want to move from Borland to MS VS 2010, but honestly, I'm completely lost. Any advice on how to setup to build with VS 2010 ? Thank you.

Re: Relinking errorsysw.prg

PostPosted: Sat Nov 02, 2013 11:52 am
by Antonio Linares
Gustavo,

We can keep using Borland if we want to. In fact, I have recently tested bcc 6.3 and 6.4 and both work fine with Harbour and FWH and there is no need to rebuild them :-)

In the demo that Embarcadero offers, the 6.4 version is included.

We also support and we are highly commited to MSVC 2012 (better than 2010). Anyhow, I must admit that I keep using Borland more than MSVC, mainly because its setup is much easier (once the required files are located and saved as a zip) than having to install the whole Visual Studio.

In short I will be testing the most recent Embarcadero C++, because to me the difference is the ability to use a low level debugger if needed. If Embarcadero one is right, then we will have two low level debuggers instead of just one :-)