[Lazarus-es] Problema con libreria c

Sergio Pedraza spedraza69 en hotmail.com
Vie Ago 17 14:46:35 CEST 2012


Por lo que vos me decis tendria que pasar todo los .h a pas 
Y no tengo que usar la librería, ya que pasaria a ser codigo nativo
De lazarus ?

-----Mensaje original-----
De: Maxi [mailto:maximiliano.duarte en gmail.com] 
Enviado el: Jueves, 16 de Agosto de 2012 05:03 p.m.
Para: Spanish version of Lazarus List
Asunto: Re: [Lazarus-es] Problema con libreria c

El día 16 de agosto de 2012 16:57, Maikel Enrique Pernía Matos
<reprepoli2mz en infomed.sld.cu> escribió:
> Con esto tengo mis dudas, he utilizado poco librerías de terceros o
propias
> y en app que he desarrollado en object pascal (estas han sido desde
delphi);
> pero recuerdo que cada librería se aconmpañaba con un fichero *.pas que
> declaraba las funciones que dicha librería exportaba y entonces era que
> podía vincularlas con mi app esto desde la clausula "use" de mi fichero
> *.pas. En C y C++ lo ha realizado con más frecuencia fundamentalmente
desde
> GNU/Linux y de manera similar cada librería se acompaña con un fichero de
> cabeceras *.h donde se declaran las mismas funciones que se exportan desde
> la librería ya sea dinámica *.so o estática *.a y se vinculan a mi app
así:
> #include <nombre_libreria.h> o  #include "nombre_libreria.h".
> Pregunto:
> ¿Qué habría que hacer, crear la librería y llevar los *.h a *.pas o
utilizar
> la librería y los *.h?
>
> El jue, 16-08-2012 a las 16:37 -0300, Maxi escribió:
>
> 2012/8/16 Pedraza Sergio <spedraza69 en hotmail.com>:
>>
>> > Te paso los archivos make tanto de windows como Linux
>> >
>> > make_win32
>> > --------------------------------------------------
>> > INCLUDE=-I.
>> > CXXFLAGS=$(INCLUDE) -DP_WIN32 -DP_WIN32_GCC
>> > FISCAL_LIB=clasefiscal.a
>> > all: $(FISCAL_LIB) clasefiscal
>> >
>> > #depend:
>> > #    makedepend $(INCLUDE) *.cpp
>> >
>> > clasefiscal_objs =  debug.o Excepcion.o ImpresorFiscal16Bits.o \
>> >         ImpresorFiscal8Bits.o ImpresorFiscal.o Mutex.o P262_100.o \
>> >         P272_100.o P320_100.o P321_100.o P322_100.o P322_201.o P322.o \
>> >         P330_100.o P330_201.o P330_202.o P330.o P425_100.o P425_201.o \
>> >         P425.o P435_100.o P435_101.o P435.o P614_100.o P615_100.o \
>> >         P715_100.o P715_201.o P715_302.o P715_403.o P715.o P950_100.o \
>> >         P951_100.o PJ20_100.o PPL8_100.o PPL8_201.o PPL8.o PPL9_100.o \
>> >         PPR4_100.o PPR5_100.o PPR5_201.o PPR5.o PPL23_100.o PPL23_101.o
>> > \
>> >         PPL23.o Protocolo.o PuertoSerie.o Socket.o ssplit.o Chars.o \
>> >         Select.o
>> > $(FISCAL_LIB): $(clasefiscal_objs)
>> >    ar rvu $(FISCAL_LIB) $(clasefiscal_objs)
>> >    ranlib $(FISCAL_LIB)
>> >
>> > clasefiscal: ClaseFiscal.o $(FISCAL_LIB)
>> >    $(CXX) ClaseFiscal.o $(FISCAL_LIB) -o clasefiscal -lwsock32
>> > --------------------------------------------------
>> >
>> > makefile_linux
>> > ---------------------------------------------------
>> > INCLUDE=-I.
>> > CXXFLAGS=$(INCLUDE) -DP_LINUX
>> > FISCAL_LIB=clasefiscal.a
>> > all: $(FISCAL_LIB) clasefiscal
>> >
>> > #depend:
>> > # makedepend $(INCLUDE) *.cpp
>> >
>> > clasefiscal_objs =  debug.o Excepcion.o ImpresorFiscal16Bits.o \
>> >         ImpresorFiscal8Bits.o ImpresorFiscal.o Mutex.o P262_100.o \
>> >         P272_100.o P320_100.o P321_100.o P322_100.o P322_201.o P322.o \
>> >         P330_100.o P330_201.o P330_202.o P330.o P425_100.o P425_201.o \
>> >         P425.o P435_100.o P435_101.o P435.o P614_100.o P615_100.o \
>> >         P715_100.o P715_201.o P715_302.o P715_403.o P715.o P950_100.o \
>> >         P951_100.o PJ20_100.o PPL8_100.o PPL8_201.o PPL8.o PPL9_100.o \
>> >         PPR4_100.o PPR5_100.o PPR5_201.o PPR5.o PPL23_100.o PPL23_101.o
>> > \
>> >         PPL23.o Protocolo.o PuertoSerie.o Socket.o ssplit.o Chars.o \
>> >         Select.o
>> > $(FISCAL_LIB): $(clasefiscal_objs)
>> > ar rvu $(FISCAL_LIB) $(clasefiscal_objs)
>> > ranlib $(FISCAL_LIB)
>> >
>> > clasefiscal: ClaseFiscal.o $(FISCAL_LIB)
>> > $(CXX) ClaseFiscal.o $(FISCAL_LIB) -o clasefiscal -lpthread
>> >
>> >
--------------------------------------------------------------------------
>> >
>> > La pregunta es como hago para compilar y transformar el codigo en c en
>> > una
>> > libreria para windows o Linux ?
>> >
>> > Muchas Gracias
>> > Sergio Pedraza
>> >
>> >
>> > --------------------------------------------------
>> > From: "Maxi" <maximiliano.duarte en gmail.com>
>> > Sent: Monday, August 13, 2012 11:54 AM
>> > To: "Spanish version of Lazarus List"
>> > <lazarus-es en lists.lazarus.freepascal.org>
>> > Subject: Re: [Lazarus-es] Problema con libreria c
>> >
>> >> Y el codigo?
>> >>
>> >> --
>> >> El que pregunta aprende, y el que contesta aprende a responder.
>> >>
>> >> No a la obsolecencia programada:
>> >>
>> >>
>> >>
http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-rompe
rse.html
>> >>
>> >> Linux User #495070
>> >> http://domonetic.com/blog
>> >>
>> >> _______________________________________________
>> >> Lazarus-es mailing list
>> >> Lazarus-es en lists.lazarus.freepascal.org
>> >> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>> >>
>> >
>> > _______________________________________________
>> > Lazarus-es mailing list
>> > Lazarus-es en lists.lazarus.freepascal.org
>> > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>>
>> con make desde linux te crea el archivo.o que el la libreria, si tenes
>> todos los fuentes no necesitas transformarlo a pascal sino generar la
>> dll y usarla con las declaraciones en tu fuente y listo. Creoque podes
>> usar make en windows.
>>
>> --
>> El que pregunta aprende, y el que contesta aprende a responder.
>>
>> No a la obsolecencia programada:
>>
>>
http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-rompe
rse.html
>>
>> Linux User #495070
>> http://domonetic.com/blog
>>
>> _______________________________________________
>> Lazarus-es mailing list
>> Lazarus-es en lists.lazarus.freepascal.org
>> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>>
>
> ----------------------------------------------------------------
> This message was sent using IMP, the Internet Messaging Program.
>
>
> --
>
> Este mensaje le ha llegado mediante el servicio de correo electronico que
> ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema
> Nacional de Salud. La persona que envia este correo asume el compromiso de
> usar el servicio a tales fines y cumplir con las regulaciones establecidas
>
> Infomed: http://www.sld.cu/
>
>
> _______________________________________________
> Lazarus-es mailing list
> Lazarus-es en lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

tenes que pasar los .h a .pas manteniendolos tipos de datos iguales,
si usa un int en C, integer en pascal, los struct a record, esto es lo
que hizo Delphi para usar las apis de windows.


-- 
El que pregunta aprende, y el que contesta aprende a responder.

No a la obsolecencia programada:
http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-rompe
rse.html

Linux User #495070
http://domonetic.com/blog

_______________________________________________
Lazarus-es mailing list
Lazarus-es en lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es





More information about the Lazarus-es mailing list