This is a library for common functions.
- FS utility functions
- Wrapper for easy kernel read/write (KernelCopyData to copy data to any place)
- Multiple language support via gettext
- Common system functions (Exception handler, memory functions, Thread wrapper etc.)
- Built in function patcher engine
- String tools
(For some features the application need to be loaded from the homebrew_launcher to have kernel access)
To able to use the logging, you need to compile the target application with follow C/C++ flag:
-D__LOGGING__
Usage in the application:
log_init(); // Enables broadcast logging.
printf("Just prints this text\n");
DEBUG_FUNCTION_LINE("This prints my current function, file and line\n");
Read the logs via the udp_debug_reader.
Link the application with
-lutils -ldynamiclibs
You also need to add the include path to your Makefile. Example:
export INCLUDE := [...] -I$(PORTLIBS)/include/libutils
Check out the header for more information.
For compiling and using this lib, you need the dynamic_libs installed to your portlibs folder.
Install this static library into your portlibs folder via:
make && make install
- Application needs to be loaded from the homebrew_launcher
- dynamic_libs for access to the functions.
The image wiiulegacy/libutils
on Docker Hub provides a prebuilt library in the /artifacts
directory. Copy it into your DevkitPPC portlibs folder.
Example:
COPY --from=wiiulegacy/libutils:0.1 /artifacts $DEVKITPRO/portlibs
- Serveral users