mirror of
https://github.com/libretro/RetroArch
synced 2024-12-26 21:29:08 +00:00
…
|
||
---|---|---|
.. | ||
multi_monitor.cpp | ||
README.md | ||
switch_refresh.cpp | ||
test_dlopen.cpp | ||
test_liblink.cpp |
ANY OS - BASIC INFORMATION
Build libswitchres
It supports cross compilation, and will build both dynamic and static libs as per the target OS
make libswitchres
Basic usage as a client with examples
libswitchres can be called in 2 different ways (with example code):
test_dlopen.c
-> by explicitely opening a .so/.dll, import the srlib object and call associated functionstest_liblink.c
-> by simply linking libswitchres at build time
These options are generic whether you build for Linux or Windows
- -I ../ (to get libswitchres_wrapper.h)
- -L ../ or -L ./ (for win32, when the dll has been copied in the examples folder)
- -lswitchres to link the lib if not manually opening it in the code
#please note#: static libs aven't been tested yet
LINUX
You'll need a few extra parameters for gcc:
- -ldl (will try later to find a way to statically link libdl.a)
When running, dont forget to add before the binary LD_LIBRARY_PATH=<libswitchres.so pass, even if it's ./>:$LD_LIBRARY_PATH
Examples:
make libswitchres
cd examples
g++ -o linux_dl_test test_dlopen.cpp -I ../ -ldl
LD_LIBRARY_PATH=../:$LD_LIBRARY_PATH ./linux_dl_test
g++ -o linux_link_lib test_liblink.cpp -I ../ -L../ -lswitchres -ldl
LD_LIBRARY_PATH=../:$LD_LIBRARY_PATH ./linux_link_lib
WINDOWS
Pretty much the same as Linux, but with mingw64. The resulting exe and dll can be tested with wine
Examples (cross-building from windows)
make PLATFORM=NT CROSS_COMPILE=x86_64-w64-mingw32- libswitchres
(copy the dll to examples)
x86_64-w64-mingw32-g++-win32 test_dlopen.cpp -o w32_loaddll.exe -I ../ -static-libgcc -static-libstdc++
w32_loaddll.exe
x86_64-w64-mingw32-g++-win32 test_liblink.cpp -o w32_linkdll.exe -I ../ -static-libgcc -static-libstdc++ -L ./ -lswitchres
w32_linkdll.exe
Note that, when building w32_linkdll.exe, I couldn't point to another dir else than ./ with -L