[fpc-pascal] Re: Problems linking C library on Linux (*.so & *.a files)
Jonas Maebe
jonas.maebe at elis.ugent.be
Fri Feb 13 12:39:00 CET 2009
On 12 Feb 2009, at 20:42, Guillermo Martínez Jiménez wrote:
>> Link time error, I guess. But according to your original message,
>> the name
>> of the library is liballeg_unshareable.a. So you would have to use -k
>> liballeg_unshareable.a, not "-klalleg_unshareable.a". The linker only
>> prepends "lib" if you use "-k-lalleg_unshareable.a" (note the extra
>> "-").
>> And if you use it with {$l } in the source, you also need the full
>> exact
>> name: {$l liballeg_unshareable.a} (because you are linking like a
>> regular
>> object file in that case, not as a library).
>>
>
> I've used this command line:
>
> fpc test.pp -Fu../lib/ -k/usr/local/lib/liballeg_unsharable.a
>
> Not link time error but run time error. Tried also {$l
> liballeg_unsharable.a} at sources and the same: not link time error
> but run time error.
Maybe the problem is that the default FPC config file enables symbol
stripping. So even though the routines from the library are in your
program, dynamically loaded libraries won't be able to find them since
the symbol names are gone. Try compiling the program with -Xs- to
disable symbol stripping.
Jonas
More information about the fpc-pascal
mailing list