annotation Link
Overview
Alib can be marked with@[Link(lib : String, *, ldflags : String, static : Bool, framework : String, pkg_config : String, wasm_import_module : String, dll : String)]
to declare the library that should be linked when compiling the program.
At least one of thelib,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.
- will lookup
pcreusingpkg-config, if not found - will pass
-lpcreto the linker.
@[Link("pcre", pkg_config: "libpcre")] will lookup for a shared library.
- will lookup
libpcreusingpkg-config, if not found - will lookup
pcreusingpkg-config, if not found - will pass
-lpcreto the linker.
@[Link(framework: "Cocoa")] will pass-framework Cocoa to the linker.
@[Link(dll: "gc.dll")] will copygc.dll to any built program. The DLL name
must use.dll as its file extension and cannot contain any directory
separators. The actual DLL is searched amongCRYSTAL_LIBRARY_PATH, the
compiler's own directory, andPATH in that order; a warning is printed if
the DLL isn't found, although it might still run correctly if the DLLs are
available in other DLL search paths on the system.
When an-l option is passed to the linker, it will lookup the libraries in
paths passed with the-L option. Any paths inCRYSTAL_LIBRARY_PATH are
added by default. Custom paths can be passed usingldflags:
@[Link(ldflags: "-Lvendor/bin")].