Компилировать исходный код как переносимый между каталогами

269
saravanakumar

Я устанавливаю nginxсервер, мне нужно его распространять. Таким образом, конечный пользователь может работать из любого каталога. Мой nginxисполняемый файл жестко запрограммирован на мой путь, который мне дали при компиляции.

Как сделать этот портативный?

РЕДАКТИРОВАТЬ:

когда я внес изменения в этот nginxисполняемый файл, он не запускается, а выдает ошибки, такие как сбой ядра при сегментации . Пожалуйста, помогите решить эту проблему.

1

1 ответ на вопрос

1
AFH

На ум приходят четыре варианта:

  1. Кодируйте приложение для использования относительных каталогов и укажите, что оно должно запускаться из заголовка дерева каталогов данных.
  2. Укажите, что переменные среды должны быть установлены для определения местоположения данных (вы можете использовать относительный путь из $HOMEкаталога, если вы не хотите определять новые явные переменные).
  3. Используйте .appили .config/appфайл конфигурации, чтобы указать расположение.
  4. Код с фиксированным путем к каталогу и указание символической ссылки, которая будет создана в этом месте, чтобы указывать на реальные местоположения.

Что касается вашей ошибки сегментации, кажется, что вы пропустили проверку ошибок (например, убедитесь, что указатель файла не является нулевым).

Да, первый я получил от одного из моих коллег. Это работает отлично! Спасибо за ваше драгоценное время :-) saravanakumar 7 лет назад 0