compilare solo xHarbour
Moderator: Enrico Maria Giordano
compilare solo xHarbour
salve a tutti,
vorrei compilare un vecchio programma clipper con xHarbour (borland 5.5)
per farlo funzionare a 32 bit in modo testo.
mi potete postare un file make per questo scopo? (flag di memoria, librerie, ecc.)
in testa al prg ci vanno degli include extra?
grazie in anticipo,
marzio
vorrei compilare un vecchio programma clipper con xHarbour (borland 5.5)
per farlo funzionare a 32 bit in modo testo.
mi potete postare un file make per questo scopo? (flag di memoria, librerie, ecc.)
in testa al prg ci vanno degli include extra?
grazie in anticipo,
marzio
- Enrico Maria Giordano
- Posts: 8753
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Has thanked: 1 time
- Been thanked: 4 times
- Contact:
Re: compilare solo xHarbour
marzio wrote:salve a tutti,
vorrei compilare un vecchio programma clipper con xHarbour (borland 5.5)
per farlo funzionare a 32 bit in modo testo.
mi potete postare un file make per questo scopo? (flag di memoria,
Se intendi gli switch di compilazione, sono gli stessi del Clipper.
marzio wrote:librerie, ecc.)
Io uso queste:
Code: Select all | Expand
rtl.lib +
vm.lib +
common.lib +
lang.lib +
gtwin.lib +
rdd.lib +
usrrdd.lib +
dbffpt.lib +
dbfntx.lib +
dbfcdx.lib +
hbsix.lib +
macro.lib +
pcrepos.lib +
hbodbc.lib +
hbzip.lib +
zlib.lib +
ct.lib +
tip.lib +
import32.lib +
cw32.lib +
odbc32.lib +
wininet.lib +
iphlpapi.lib
marzio wrote:in testa al prg ci vanno degli include extra?
No.
EMG
Re: compilare solo xHarbour
grazie Enrico.
però lanciando l'exe ottengo solo una finestra che si chiude subito
senza vedere nulla, anche con questo programmino minimale.
function main()
QOUT( Version() )
QOUT( '-------------------------------------------------------------' )
QOUT( '' )
Inkey(0)
return NIL
però lanciando l'exe ottengo solo una finestra che si chiude subito
senza vedere nulla, anche con questo programmino minimale.
function main()
QOUT( Version() )
QOUT( '-------------------------------------------------------------' )
QOUT( '' )
Inkey(0)
return NIL
- Enrico Maria Giordano
- Posts: 8753
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Has thanked: 1 time
- Been thanked: 4 times
- Contact:
Re: compilare solo xHarbour
Negli switch del compilatore C devi sostituire /W con /WC (che sta per console) e in quelli del linker /aa con /ap.
EMG
EMG
Re: compilare solo xHarbour
ho aggiunto /WC al complier non so se è il posto giusto perché non c'era /W, ho aggiunto /ap al linker, non c'era /aa.
questo il file bat che uso, sicuramente c'è qualcosa che non va:
@echo off
DEL discorsi.EXE
DEL *.OBJ
DEL *.C
set HB_INSTALL=d:\winclip\xharbour
set BCC_DIR=d:\winclip\bcc55
%HB_INSTALL%\bin\harbour discorsi -i%HB_INSTALL%\include > log
echo -O2 -tW -M -DHB_API_MACROS -DHB_STACK_MACROS -DHB_OS_WIN_32 -DHB_FM_STATISTICS_OFF > b32.bc
echo -I%HB_INSTALL%\include;%BCC_DIR%\include >> b32.bc
echo -c discorsi.c >> b32.bc
%BCC_DIR%\BIN\bcc32 /WC @b32.bc
echo %BCC_DIR%\lib\c0w32.obj + > b32.bc
echo discorsi.obj + >> b32.bc
echo , + >> b32.bc
echo %discorsi.EXE, + >> b32.bc
echo %discorsi.map, + >> b32.bc
echo %HB_INSTALL%\lib\rtl.lib + >> b32.bc
echo %HB_INSTALL%\lib\vm.lib + >> b32.bc
echo %HB_INSTALL%\lib\common.lib + >> b32.bc
echo %HB_INSTALL%\lib\lang.lib + >> b32.bc
echo %HB_INSTALL%\lib\gtwin.lib + >> b32.bc
ECHO %HB_INSTALL%\lib\rdd.lib + >> b32.bc
ECHO %HB_INSTALL%\lib\usrrdd.lib + >> b32.bc
ECHO %HB_INSTALL%\lib\dbffpt.lib + >> b32.bc
ECHO %HB_INSTALL%\lib\dbfntx.lib + >> b32.bc
ECHO %HB_INSTALL%\lib\dbfcdx.lib + >> b32.bc
ECHO %HB_INSTALL%\lib\hbsix.lib + >> b32.bc
echo %HB_INSTALL%\lib\macro.lib + >> b32.bc
echo %HB_INSTALL%\lib\pcrepos.lib + >> b32.bc
echo %HB_INSTALL%\lib\hbodbc.lib + >> b32.bc
echo %HB_INSTALL%\lib\hbzip.lib + >> b32.bc
echo %HB_INSTALL%\lib\zlib.lib + >> b32.bc
echo %HB_INSTALL%\lib\ct.lib + >> b32.bc
echo %HB_INSTALL%\lib\tip.lib + >> b32.bc
ECHO %bcc_dir%\lib\cw32.lib + >> b32.bc
ECHO %bcc_dir%\lib\import32.lib + >> b32.bc
ECHO %bcc_dir%\lib\PSDK\odbc32.lib + >> b32.bc
ECHO %bcc_dir%\lib\PSDK\wininet.lib + >> b32.bc
ECHO %bcc_dir%\lib\PSDK\iphlpapi.lib + >> b32.bc
%BCC_DIR%\bin\ilink32 -ap -Gn -Tpe -L%HB_INSTALL%\lib\;%BCC_DIR%\lib\ -s @b32.bc
questo il file bat che uso, sicuramente c'è qualcosa che non va:
@echo off
DEL discorsi.EXE
DEL *.OBJ
DEL *.C
set HB_INSTALL=d:\winclip\xharbour
set BCC_DIR=d:\winclip\bcc55
%HB_INSTALL%\bin\harbour discorsi -i%HB_INSTALL%\include > log
echo -O2 -tW -M -DHB_API_MACROS -DHB_STACK_MACROS -DHB_OS_WIN_32 -DHB_FM_STATISTICS_OFF > b32.bc
echo -I%HB_INSTALL%\include;%BCC_DIR%\include >> b32.bc
echo -c discorsi.c >> b32.bc
%BCC_DIR%\BIN\bcc32 /WC @b32.bc
echo %BCC_DIR%\lib\c0w32.obj + > b32.bc
echo discorsi.obj + >> b32.bc
echo , + >> b32.bc
echo %discorsi.EXE, + >> b32.bc
echo %discorsi.map, + >> b32.bc
echo %HB_INSTALL%\lib\rtl.lib + >> b32.bc
echo %HB_INSTALL%\lib\vm.lib + >> b32.bc
echo %HB_INSTALL%\lib\common.lib + >> b32.bc
echo %HB_INSTALL%\lib\lang.lib + >> b32.bc
echo %HB_INSTALL%\lib\gtwin.lib + >> b32.bc
ECHO %HB_INSTALL%\lib\rdd.lib + >> b32.bc
ECHO %HB_INSTALL%\lib\usrrdd.lib + >> b32.bc
ECHO %HB_INSTALL%\lib\dbffpt.lib + >> b32.bc
ECHO %HB_INSTALL%\lib\dbfntx.lib + >> b32.bc
ECHO %HB_INSTALL%\lib\dbfcdx.lib + >> b32.bc
ECHO %HB_INSTALL%\lib\hbsix.lib + >> b32.bc
echo %HB_INSTALL%\lib\macro.lib + >> b32.bc
echo %HB_INSTALL%\lib\pcrepos.lib + >> b32.bc
echo %HB_INSTALL%\lib\hbodbc.lib + >> b32.bc
echo %HB_INSTALL%\lib\hbzip.lib + >> b32.bc
echo %HB_INSTALL%\lib\zlib.lib + >> b32.bc
echo %HB_INSTALL%\lib\ct.lib + >> b32.bc
echo %HB_INSTALL%\lib\tip.lib + >> b32.bc
ECHO %bcc_dir%\lib\cw32.lib + >> b32.bc
ECHO %bcc_dir%\lib\import32.lib + >> b32.bc
ECHO %bcc_dir%\lib\PSDK\odbc32.lib + >> b32.bc
ECHO %bcc_dir%\lib\PSDK\wininet.lib + >> b32.bc
ECHO %bcc_dir%\lib\PSDK\iphlpapi.lib + >> b32.bc
%BCC_DIR%\bin\ilink32 -ap -Gn -Tpe -L%HB_INSTALL%\lib\;%BCC_DIR%\lib\ -s @b32.bc
- Enrico Maria Giordano
- Posts: 8753
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Has thanked: 1 time
- Been thanked: 4 times
- Contact:
Re: compilare solo xHarbour
marzio wrote:ho aggiunto /WC al complier non so se è il posto giusto perché non c'era /W
Sì, che c'era:
Code: Select all | Expand
echo -O2 -tW -M -DHB_API_MACROS -DHB_STACK_MACROS -DHB_OS_WIN_32 -DHB_FM_STATISTICS_OFF > b32.bc
-tW equivale a -W. Lancia bcc32 a vuoto e otterrai tutti gli switch disponibili con relativa funzione.
marzio wrote:ho aggiunto /ap al linker, non c'era /aa.
Forse c'è un default ma mi sembra strano.
marzio wrote:questo il file bat che uso, sicuramente c'è qualcosa che non va:
echo %BCC_DIR%\lib\c0w32.obj + > b32.bc
c0w32 lo devi sostituire con c0x32.
EMG
Re: compilare solo xHarbour
purtroppo continua a non funzionare...
@echo off
DEL discorsi.EXE
DEL *.OBJ
DEL *.C
set HB_INSTALL=d:\winclip\xharbour
set BCC_DIR=d:\winclip\bcc55
%HB_INSTALL%\bin\harbour discorsi -i%HB_INSTALL%\include > log
rem provati entrambi:
rem echo -O2 -WC -M -DHB_API_MACROS -DHB_STACK_MACROS -DHB_OS_WIN_32 -DHB_FM_STATISTICS_OFF > b32.bc
echo -O2 -tWC -M -DHB_API_MACROS -DHB_STACK_MACROS -DHB_OS_WIN_32 -DHB_FM_STATISTICS_OFF > b32.bc
echo -I%HB_INSTALL%\include;%BCC_DIR%\include >> b32.bc
echo -c discorsi.c >> b32.bc
%BCC_DIR%\BIN\bcc32 @b32.bc
echo %BCC_DIR%\lib\c0x32.obj + > b32.bc
echo discorsi.obj + >> b32.bc
echo , + >> b32.bc
echo %discorsi.EXE, + >> b32.bc
echo %discorsi.map, + >> b32.bc
rem echo %BCC_DIR%\lib\ws2_32.lib + >> b32.bc
echo %HB_INSTALL%\lib\rtl.lib + >> b32.bc
echo %HB_INSTALL%\lib\vm.lib + >> b32.bc
echo %HB_INSTALL%\lib\common.lib + >> b32.bc
echo %HB_INSTALL%\lib\lang.lib + >> b32.bc
echo %HB_INSTALL%\lib\gtwin.lib + >> b32.bc
ECHO %HB_INSTALL%\lib\rdd.lib + >> b32.bc
ECHO %HB_INSTALL%\lib\usrrdd.lib + >> b32.bc
ECHO %HB_INSTALL%\lib\dbffpt.lib + >> b32.bc
ECHO %HB_INSTALL%\lib\dbfntx.lib + >> b32.bc
ECHO %HB_INSTALL%\lib\dbfcdx.lib + >> b32.bc
ECHO %HB_INSTALL%\lib\hbsix.lib + >> b32.bc
echo %HB_INSTALL%\lib\macro.lib + >> b32.bc
echo %HB_INSTALL%\lib\pcrepos.lib + >> b32.bc
echo %HB_INSTALL%\lib\hbodbc.lib + >> b32.bc
echo %HB_INSTALL%\lib\hbzip.lib + >> b32.bc
echo %HB_INSTALL%\lib\zlib.lib + >> b32.bc
echo %HB_INSTALL%\lib\ct.lib + >> b32.bc
echo %HB_INSTALL%\lib\tip.lib + >> b32.bc
ECHO %bcc_dir%\lib\cw32.lib + >> b32.bc
ECHO %bcc_dir%\lib\import32.lib + >> b32.bc
ECHO %bcc_dir%\lib\PSDK\odbc32.lib + >> b32.bc
ECHO %bcc_dir%\lib\PSDK\wininet.lib + >> b32.bc
ECHO %bcc_dir%\lib\PSDK\iphlpapi.lib + >> b32.bc
%BCC_DIR%\bin\ilink32 -ap -Gn -Tpe -L%HB_INSTALL%\lib\;%BCC_DIR%\lib\ -s @b32.bc
@echo off
DEL discorsi.EXE
DEL *.OBJ
DEL *.C
set HB_INSTALL=d:\winclip\xharbour
set BCC_DIR=d:\winclip\bcc55
%HB_INSTALL%\bin\harbour discorsi -i%HB_INSTALL%\include > log
rem provati entrambi:
rem echo -O2 -WC -M -DHB_API_MACROS -DHB_STACK_MACROS -DHB_OS_WIN_32 -DHB_FM_STATISTICS_OFF > b32.bc
echo -O2 -tWC -M -DHB_API_MACROS -DHB_STACK_MACROS -DHB_OS_WIN_32 -DHB_FM_STATISTICS_OFF > b32.bc
echo -I%HB_INSTALL%\include;%BCC_DIR%\include >> b32.bc
echo -c discorsi.c >> b32.bc
%BCC_DIR%\BIN\bcc32 @b32.bc
echo %BCC_DIR%\lib\c0x32.obj + > b32.bc
echo discorsi.obj + >> b32.bc
echo , + >> b32.bc
echo %discorsi.EXE, + >> b32.bc
echo %discorsi.map, + >> b32.bc
rem echo %BCC_DIR%\lib\ws2_32.lib + >> b32.bc
echo %HB_INSTALL%\lib\rtl.lib + >> b32.bc
echo %HB_INSTALL%\lib\vm.lib + >> b32.bc
echo %HB_INSTALL%\lib\common.lib + >> b32.bc
echo %HB_INSTALL%\lib\lang.lib + >> b32.bc
echo %HB_INSTALL%\lib\gtwin.lib + >> b32.bc
ECHO %HB_INSTALL%\lib\rdd.lib + >> b32.bc
ECHO %HB_INSTALL%\lib\usrrdd.lib + >> b32.bc
ECHO %HB_INSTALL%\lib\dbffpt.lib + >> b32.bc
ECHO %HB_INSTALL%\lib\dbfntx.lib + >> b32.bc
ECHO %HB_INSTALL%\lib\dbfcdx.lib + >> b32.bc
ECHO %HB_INSTALL%\lib\hbsix.lib + >> b32.bc
echo %HB_INSTALL%\lib\macro.lib + >> b32.bc
echo %HB_INSTALL%\lib\pcrepos.lib + >> b32.bc
echo %HB_INSTALL%\lib\hbodbc.lib + >> b32.bc
echo %HB_INSTALL%\lib\hbzip.lib + >> b32.bc
echo %HB_INSTALL%\lib\zlib.lib + >> b32.bc
echo %HB_INSTALL%\lib\ct.lib + >> b32.bc
echo %HB_INSTALL%\lib\tip.lib + >> b32.bc
ECHO %bcc_dir%\lib\cw32.lib + >> b32.bc
ECHO %bcc_dir%\lib\import32.lib + >> b32.bc
ECHO %bcc_dir%\lib\PSDK\odbc32.lib + >> b32.bc
ECHO %bcc_dir%\lib\PSDK\wininet.lib + >> b32.bc
ECHO %bcc_dir%\lib\PSDK\iphlpapi.lib + >> b32.bc
%BCC_DIR%\bin\ilink32 -ap -Gn -Tpe -L%HB_INSTALL%\lib\;%BCC_DIR%\lib\ -s @b32.bc
- Enrico Maria Giordano
- Posts: 8753
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Has thanked: 1 time
- Been thanked: 4 times
- Contact:
Re: compilare solo xHarbour
marzio wrote:purtroppo continua a non funzionare...
echo -O2 -tWC -M -DHB_API_MACROS -DHB_STACK_MACROS -DHB_OS_WIN_32 -DHB_FM_STATISTICS_OFF > b32.bc
Ma dove hai letto che esiste -tWC. Ti ho detto dove guardare la lista degli switch. Guardatela, per favore. Comunque è -tC.
EMG
Re: compilare solo xHarbour
ho guardato la lista dei flag ma non ci ho capito molto ho visto -tWxxx ma non -tC.
ho messo -tC, ma fa lo stesso problema.
ho messo -tC, ma fa lo stesso problema.
- Enrico Maria Giordano
- Posts: 8753
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Has thanked: 1 time
- Been thanked: 4 times
- Contact:
Re: compilare solo xHarbour
Questo è il batch che uso io per BCC 6.30 (controlla tutti i percorsi):
XHARBOUR.CFG:
XHARBOUR.RSP:
EMG
Code: Select all | Expand
SET HARBOURCMD=/a /es2 /gc0 /m /n /q /w2
SET INCLUDE=e:\xharbour\include;e:\bcc\include
IF EXIST %1.prg e:\xharbour\harbour %1
SET HARBOURCMD=
SET INCLUDE=
IF EXIST %1.c e:\bcc\bin\bcc32 +e:\xharbour\xharbour.cfg -c %1.c
IF EXIST %1.obj e:\bcc\bin\ilink32 c0x32 %1, %1.EXE @e:\xharbour\xharbour.rsp
IF ERRORLEVEL 1 PAUSE
IF NOT ERRORLEVEL 1 IF EXIST %1.exe %1
IF EXIST %1.c DEL %1.c
IF EXIST %1.obj DEL %1.obj
IF EXIST %1.tds DEL %1.tds
XHARBOUR.CFG:
Code: Select all | Expand
-6
-a4
-DHB_GUI
-DHB_INCLUDE_WINEXCHANDLER
-DHB_NO_PROFILER
-DHB_NO_TRACE
-DHB_WIN32_IO
-d
-g0
-Ie:\xharbour\include;e:\bcc\include;e:\bcc\include\windows\crtl;e:\bcc\include\windows\sdk;e:\bcc\include\dinkumware
-k-
-O
-O1
-O2
-OS
-Ob
-Oc
-Ov
-v-
-WC
-w
XHARBOUR.RSP:
Code: Select all | Expand
/ap +
/Gn +
/Le:\xharbour\lib;e:\bcc\lib;e:\bcc\lib\psdk +
/x
rtl.lib +
vm.lib +
common.lib +
lang.lib +
gtwin.lib +
rdd.lib +
usrrdd.lib +
dbffpt.lib +
dbfntx.lib +
dbfcdx.lib +
hbsix.lib +
macro.lib +
pcrepos.lib +
hbodbc.lib +
hbzip.lib +
zlib.lib +
ct.lib +
tip.lib +
import32.lib +
cw32.lib +
odbc32.lib +
wininet.lib +
iphlpapi.lib
EMG