lib declaration groups C functions and types that belong to a library.
@[Link("pcre")] lib LibPCRE end
Although not enforced by the compiler, a
lib's name usually starts with
Attributes are used to pass flags to the linker to find external libraries:
-lpcreto the linker, but the compiler will first try to use pkg-config.
@[Link(ldflags: "...")]will pass those flags directly to the linker, without modification. For example:
@[Link(ldflags: "-lpcre")]. A common technique is to use backticks to execute commands:
@[Link(ldflags: "`pkg-config libpcre --libs`")].
@[Link(framework: "Cocoa")]will pass
-framework Cocoato the linker (only useful in Mac OS X).
Attributes can be omitted if the library is implicitly linked, as in the case of libc.