A lib
can be marked with @[Link(lib : String, *, ldflags : String, framework : String, pkg_config : String)]
to declare the library that should be linked when compiling the program.
At least one of the lib, ldflags, framework arguments needs to be specified.
@[Link(ldflags: "-lpcre")]
will pass -lpcre
straight to the linker.
@[Link("pcre")]
will lookup for a shared library.
pcre
using pkg-config
, if not found-lpcre
to the linker.@[Link("pcre", pkg_config: "libpcre")]
will lookup for a shared library.
libpcre
using pkg-config
, if not foundpcre
using pkg-config
, if not found-lpcre
to the linker.@[Link(framework: "Cocoa")]
will pass -framework Cocoa
to the linker.
When an -l
option is passed to the linker, it will lookup the libraries in paths passed with the -L
option. Any paths in CRYSTAL_LIBRARY_PATH
are added by default. Custom paths can be passed using ldflags
: @[Link(ldflags: "-Lvendor/bin")]
.
© 2012–2020 Manas Technology Solutions.
Licensed under the Apache License, Version 2.0.
https://crystal-lang.org/api/0.35.1/Link.html