Annotation Interface CLibrary


@Retention(RUNTIME) @Target({TYPE,METHOD}) public @interface CLibrary
Denotes an external library that needs to be linked in. The annotation can be placed on any element, and the same library can be referenced by multiple annotations.
Since:
19.0
  • Required Element Summary Link icon

    Required Elements
    Modifier and Type
    Required Element
    Description
    The name of the library without a file extension (e.g., "hello").
  • Optional Element Summary Link icon

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    Specifies the name of the libraries this library depends on.
    boolean
    Specifies if static linking is required.
  • Element Details

    • value Link icon

      String value
      The name of the library without a file extension (e.g., "hello"). The name of the actual file is platform-specific, e.g., libhello.so on Linux, libhello.dylib on macOS, and hello.dll on Windows.
      Since:
      19.0
    • requireStatic Link icon

      boolean requireStatic
      Specifies if static linking is required.
      Since:
      19.1.0
      Default:
      false
    • dependsOn Link icon

      String[] dependsOn
      Specifies the name of the libraries this library depends on.
      Since:
      20.1.0
      Default:
      {}