Skip to content

lib.lua.package ​

This module provides access to native Lua package interfaces for loading dynamic libraries and Lua modules.

TIP

To use this module, you need to import it first: import("lib.lua.package")

Xmake restricts access to native Lua modules and interfaces by default for safety reasons. This module provides access to some of the APIs provided by Lua when needed.

package.loadlib ​

  • Load Lua module from dynamic library

Function Prototype ​

API

lua
package.loadlib(libfile: <string>, symbol: <string>)

Parameter Description ​

ParameterDescription
libfileRequired. The dynamic library file path (e.g., foo.dll, libfoo.so, libfoo.dylib)
symbolRequired. The export symbol name (e.g., luaopen_xxx)

Return Value ​

TypeDescription
functionReturns a function to initialize the module

Usage ​

This is typically used in high-performance scenarios where you need to load Lua modules from native dynamic libraries.

lua
import("lib.lua.package")

-- Load the module from dynamic library
local script = package.loadlib("/xxx/libfoo.so", "luaopen_mymodule")

-- Initialize and use the module
local mymodule = script()
mymodule.hello()