[fpc-devel] Building a static library
Vsevolod Alekseyev
sevaa at sprynet.com
Tue Aug 26 22:53:09 CEST 2014
I've got a static FPC library on iOS that works fine. Don't pass strings
back and forth, pass PChar's. Pointer-to-records are OK, too, but I'd
think twice regarding objects.
On 8/26/2014 4:47 PM, Sergio Flores wrote:
> Let's start this email by saying that I know perfectly that FPC does
> not support static libraries, I read all I could find about it.
> However most reasons talk about that there would be problems if
> someone tried to use two fpc static libs together because of
> duplicated symbols.
>
> In my case I want to create a iPhone static lib to be used by
> objective-c and C++ users. Since in this special case there will be
> one and only one lib written in pascal, I though this would make it
> possible.
>
> I saw that my own iOS projects that were based on templates worked by
> compiling a static libFPC.a that would be then called by Objective-C.
>
> So I did create my own static library by gathering all .o files from
> FPC into a .a file. I wrote a .h header and added the static lib into
> a Xcode Objective-C project.
> Ok, it compiles and links correctly. It calls some of the pascal
> functions correctly. But.. then it later crashes in one of the pascal
> functions.
>
> Note that I have a lib_init() function called from C that is used to
> initialize the pascal library, and it calls this undocumented fpc
> function:
>
> procedure internal_initializeunits(); external name 'FPC_INITIALIZEUNITS';
>
> This function from what I understood it calls all units initialization
> sections, right?
> Still, I'm missing something... the libFPC.a compiled in xcode
> templates works fine with Objective-C, but also it does not share any
> memory back or forward.
>
> This seems to be some problem with memory allocation, since only
> calling any function that creates pascal strings or classes seem to
> crash the app. Any clue?
>
>
> _______________________________________________
> fpc-devel maillist - fpc-devel at lists.freepascal.org
> http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20140826/bd2b0299/attachment.html>
More information about the fpc-devel
mailing list