Я очень плохо знаком с Linux и Ubuntu, и я портировал свой простой игровой механизм к Linux. Механизм находится в .so файле и связан с исполняемым файлом.
Я не могу выполнить свой исполняемый файл, потому что он говорит, что не может найти файл Engine.so (когда выполнено в терминале).
Таким образом, если я разрабатываю на Ubuntu, как я могу заставить исполняемый файл находить, что библиотека была когда-нибудь, это?
Второй вопрос при распределении приложения, как .so файлы установлены? Я предполагаю, что они только помещаются в тот же каталог как exe как в окнах? таким образом, как они установлены?
Исполняемые файлы ищут библиотеки в ряде мест, например, /lib
, /usr/lib
, /usr/local/lib
... поэтому, если Вы не помещаете Ваш .so
файл в одном из этих мест (/usr/local/lib
, могло бы быть хорошее место), исполняемый файл не будет работать.
можно явно указать набор каталоги для поиска путем установки переменной среды LD_LIBRARY_PATH
содержащий любые каталоги, которые Вы любите, (включая Ваш каталог разработки, например).