Antonio Linares wrote:Has hecho lo correcto al añadir el path de los includes de Harbour
Que errores te da al compilarlo ?
C:\clinica64>c:\bcc7164\bin\make -fsistema.mak
MAKE Version 5.41 Copyright (c) 1987, 2014 Embarcadero Technologies, Inc.
c:\harbour64\bin\harbour .\prg\comienzo.prg /L /N /W /Oobj\ /Ic:\fwh64\include;c:\harbour64\include;.\include
Harbour 3.2.0dev (r1603181642)
Copyright (c) 1999-2016, http://harbour-project.org/
Compiling '.\prg\comienzo.prg'...
Lines 5118, Functions/Procedures 1
Generating C source output to 'obj\comienzo.c'... Done.
c:\bcc7164\bin\bcc64 -c -tWM -Ic:\harbour64\include -Ic:\bcc7164\include\windows\sdk -Ic:\bcc7164\include\windows\crtl -oobj\comienzo obj\comienzo.c
Embarcadero C++ 7.20 for Win64 Copyright (c) 2012-2016 Embarcadero Technologies, Inc.
obj\comienzo.c:
Fatal: '.\obj\Libreria.obj' does not exist - don't know how to make it
C:\clinica64>
Alli le puse el error maestro
Y este es el .mak que uso
#Borland make 64 bits (c) FiveTech Software 2016
HBDIR=c:\harbour64
BCDIR=c:\bcc7164
FWDIR=c:\fwh64
#change these paths as needed
.path.obj = .\obj
.path.prg = .\prg
.path.ch = .\Include;$(FWDIR)\include;$(HBDIR)\include
.path.c = .\
.path.rc = .\Resource
PRG = \
.\comienzo.prg \
C = \
.\Libreria.c
OBJ=$(PRG:.prg=.obj) $(C:.c=.obj)
OBJS=$(OBJ:.\=.\obj\)
PROJECT : Sistema.exe
sistema.exe : $(OBJS) sistema.res
echo off
echo $(BCDIR)\lib\c0w64.o + > b64.bc
echo $(OBJS), + >> b64.bc
echo sistema.exe, + >> b64.bc
echo sistema.map, + >> b64.bc
echo $(FWDIR)\lib\Five64.a $(FWDIR)\lib\FiveC64.a + >> b64.bc
echo $(HBDIR)\lib\hbrtl.a + >> b64.bc
echo $(HBDIR)\lib\hbvm.a + >> b64.bc
echo $(HBDIR)\lib\gtgui.a + >> b64.bc
echo $(HBDIR)\lib\hblang.a + >> b64.bc
echo $(HBDIR)\lib\hbmacro.a + >> b64.bc
echo $(HBDIR)\lib\hbrdd.a + >> b64.bc
echo $(HBDIR)\lib\rddntx.a + >> b64.bc
echo $(HBDIR)\lib\rddcdx.a + >> b64.bc
echo $(HBDIR)\lib\rddfpt.a + >> b64.bc
echo $(HBDIR)\lib\hbsix.a + >> b64.bc
echo $(HBDIR)\lib\hbdebug.a + >> b64.bc
echo $(HBDIR)\lib\hbcommon.a + >> b64.bc
echo $(HBDIR)\lib\hbpp.a + >> b64.bc
echo $(HBDIR)\lib\hbwin.a + >> b64.bc
echo $(HBDIR)\lib\hbcpage.a + >> b64.bc
echo $(HBDIR)\lib\hbct.a + >> b64.bc
echo $(HBDIR)\lib\hbcplr.a + >> b64.bc
echo $(HBDIR)\lib\hbpcre.a + >> b64.bc
echo $(HBDIR)\lib\xhb.a + >> b64.bc
echo $(HBDIR)\lib\hbziparc.a + >> b64.bc
echo $(HBDIR)\lib\hbmzip.a + >> b64.bc
echo $(HBDIR)\lib\hbzlib.a + >> b64.bc
echo $(HBDIR)\lib\minizip.a + >> b64.bc
echo $(HBDIR)\lib\png.a + >> b64.bc
echo $(HBDIR)\lib\hbusrrdd.a + >> b64.bc
echo $(HBDIR)\lib\hbtip.a + >> b64.bc
echo $(BCDIR)\lib\cw64.a + >> b64.bc
echo $(BCDIR)\lib\psdk\kernel32.a + >> b64.bc
echo $(BCDIR)\lib\psdk\user32.a + >> b64.bc
echo $(BCDIR)\lib\psdk\iphlpapi.a + >> b64bc
echo $(BCDIR)\lib\import64.a, >> b64.bc
IF EXIST .\Resource\Sistema.res echo .\Resource\Sistema.res >> b64.bc
$(BCDIR)\bin\ilink64 -Gn -aa -Tpe -s @b64.bc
del b64.bc
del tmp
del *.map
if ERRORLEVEL 0 sistema.exe
.PRG.OBJ:
$(HBDIR)\bin\harbour $< /L /N /W /Oobj\ /I$(FWDIR)\include;$(HBDIR)\include;.\include
$(BCDIR)\bin\bcc64 -c -tWM -I$(HBDIR)\include -I$(BCDIR)\include\windows\sdk -I$(BCDIR)\include\windows\crtl -oobj\$& obj\$&.c
.C.OBJ:
echo -c -tWM -D__HARBOUR__ -DHB_API_MACROS > tmp
echo -I$(HBDIR)\include;$(FWDIR)\include >> tmp
$(BCDIR)\bin\bcc64 -I$(BCDIR)\include\windows\sdk -I$(BCDIR)\include\windows\crtl -oobj\$& @tmp $&.c
del tmp
Sistema.res : Sistema.rc
$(BCDIR)\bin\brc32.exe -r -D__64__ -I%bcdir%\include -I%bcdir%\include\windows\sdk .\Resource\Sistema.rc
Archivo comienzo.prg
#include "fivewin.ch"
#include "sistema.ch"
FUNCTION Main()
LOCAL aDir := Directory()
MiAlertaenC("Alerta escrito en C ")
XBrowser aDir TITLE Version()
RETURN Nil
Archivo Libreria.c
#include "Windows.h"
#include "hbapi.h"
HB_FUNC( MIALERTAENC )
{
MessageBox( GetActiveWindow(), "ESTA ES MI ALERTA" ,"Mialerta", MB_ICONINFORMATION ) ;
}