В настоящее время я портирую свою игру с Windows на Linux. Debian (дом) и Fedora (университет). Он строит хорошо, однако во время выполнения ожидает error while loading shared libraries: libIL.so.1
,
Во-первых, что такое .1 все? Я попытался использовать размещение libIL.so и .1 рядом с исполняемым файлом, но там все еще была та же ошибка. Что я делаю? — Имейте в виду, что у меня нет прав root на машине Fedora.
Положил libIL.so
в тот же каталог, что и ваш исполняемый файл mygame
, а затем создайте сценарий запуска для вашей игры, скажем mygame.sh
:
#!/bin/sh
LD_PRELOAD=. ./mygame
Теперь вы можете запустить игру из командной строки, используя ./mygame.sh
,
редактировать: что я на самом деле имел в виду выше LD_LIBRARY_PATH
вместо LD_PRELOAD
, Соберите все свои библиотеки вместе с исполняемым файлом и используйте LD_LIBRARY_PATH=.
Затем загрузчик библиотеки будет искать в текущей папке все необходимые библиотеки.
Других решений пока нет …