其他分享
首页 > 其他分享> > FreePascal如何使用外部库函数

FreePascal如何使用外部库函数

作者:互联网

Program Test;

Uses
  Foo;

Begin
  WriteLn(MyFooFunc());
End.
Unit Foo;

Interface

Const
{$IFDEF UNIX}
  // LINUX:  /path/to/lib/libfoo.so
  // DARWIN: /path/to/lib/libfoo.dylib
  MyLib = '/path/to/lib/foo';
{$ENDIF}
{$IFDEF WINDOWS}
  MyLib = 'C:\path\to\lib\foo.dll';
{$ENDIF}
Function MyFooFunc(): Integer; CDecl; External MyLib Name 'my_foo_func';

Implementation

Begin
End;
fpc test.pas -k-L/path/to/lib -k-lfoo

若使用Lazarus设置时,在Project/Project Options的Complier Options/Compliation and Linking的Linking/Pass options to linker with "-k", delimiter is space中,特别注意参数之间不要有多余空格(有且仅有一个空格),防止Lazarus解析参数错误,导致莫名奇妙的连接器参数问题。例如:-L/path/to/lib -lfoo,而非-L/path/to/lib -lfoo

标签:pas,MyLib,lib,外部,lfoo,path,foo,FreePascal,库函数
来源: https://www.cnblogs.com/ExSystem/p/15148073.html