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.
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.
Compile as a module of your program.
In the same directory of working
Regards,
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.
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.
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
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
@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
:EXITTim:
Thank you for sharing your tip. Can you show how you do it ? Your help is greatly appreciated.
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
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.
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
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.
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 ![]()