Если больше никто не захочет это сделать, я тоже могу что-нибудь сделать.
Я собираюсь сделать несколько предположений.
- Вы распространяете двоичное / закрытое приложение
- Вы хотите распространять его самостоятельно
Таким образом исключение всего "просто позвольте дистрибутиву / пользователям создавать его для своих настроек".
Глядя на то, как другие решают подобные проблемы, я вижу, что обычно включают общие библиотеки в ваше приложение, а затем используют загрузчик / упаковщик, как вы хотите его назвать, скрипт, который изменяет среду перед запуском приложения. , В частности, они изменяют LD_LIBRARY_PATH для включения папки / lib, включенной в приложение.
Сценарий может быть простым.
#!/bin/sh
LD_LIBRARY_PATH=./lib ./myAppReal
Именно так я решил распространять приложение Qt4 среди пользователей, у которых есть дистрибутивы, поставляемые не новее, чем Qt-3.3.6 (в 2009 году ... серьезно). Редактировать: Могу также сказать, что пользователи имеют в виду 5-ти человек в компании, которые платят за разработку, специализация провала с нашей стороны не требует от них более конкретной информации, когда они говорят о кроссплатформенности в современных операционных системах.
Теперь кто-то, вероятно, найдет с этим около дюжины вещей, но это хорошо, я могу обновляться и учиться по ходу дела.
РЕДАКТИРОВАТЬ: Как сказал JimR, это имеет последствия для безопасности: если вы оставите свою папку libs доступной для чтения всем, кто-то может использовать ее для внедрения вредоносного кода в ваше приложение. В зависимости от того, как вы планируете развертывание, это может быть или не быть реальной проблемой, но вы должны знать об этом.