Am 08.10.2012 14:58, schrieb Bernd:
2012/10/8 Sven Barth <[email protected]>:
afaik .a result from compiling with -CX.


No. They are necessary for DLL imports at least on the Windows platforms.

citing the manual: http://www.freepascal.org/docs-html/prog/progse29.html

"When a unit foo.pp is smartlinked, the name of the codefile is
changed to libfoo.a.

Technically speaking, the compiler makes small assembler files for
each procedure and function in the unit, as well as for all global
defined variables (whether they’re in the interface section or not).
It then assembles all these small files, and uses ar to collect the
resulting object files in one archive. "

Seems like the documentation regarding this isn't that up to date anymore...

You just need to test yourself: create a unit with a bit of code and compile using "-CX". At least on my system I haven't found a "libUNITNAME.a" file. What I did find though when I add an import ("external '...'") was a libimpUNITNAME.a file. It could be different on a Linux system of course, but at least on Windows systems the compiler works this way.

Nevertheless: *.a files are created by the compiler and need to be cleaned away as well.

Regards,
Sven


--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to