Как я могу включить библиотеки в мой исполняемый файл, чтобы пользователям не нужно было иметь библиотеки DLL? - PullRequest
2 голосов
/ 09 мая 2011

Я занимаюсь разработкой программного обеспечения с использованием ITK и VTK, и все идет очень хорошо.Однако я хотел бы развернуть программное обеспечение на компьютерах конечных пользователей, на которых не установлены ITK или VTK.Когда я собираю программное обеспечение и запускаю его на компьютере, на котором не установлены ITK или VTK, я получаю сообщения об ошибках, такие как «Не удается загрузить libItkBasicFilters.dll». В этом есть смысл - на компьютере нет таких DLL,

Я не могу ожидать, что все мои пользователи установят ITK, чтобы они могли запускать мое программное обеспечение - как я могу сделать так, чтобы им нужно было только запускать мой исполняемый файл, и они могли наслаждаться программным обеспечением?Боюсь, я недостаточно хорошо понимаю эти библиотеки - поэтому, если вы можете дать мне какие-либо идеи, это было бы очень полезно.

1 Ответ

7 голосов
/ 09 мая 2011

У вас есть два варианта:

  1. Добавьте установщик этих библиотек в ваш установщик и запустите его автоматически, если библиотеки не найдены в системе.Это обычно делается, если у вас есть установщик, и это предпочтительный вариант в этом случае.
  2. Использовать статическую версию библиотек.Поскольку библиотеки используют лицензию BSD, вам разрешено это делать (просто перекомпилируйте их как статические библиотеки, если у вас их еще нет).Однако это займет больше места на целевом компьютере и потребует переустановки программного обеспечения, если библиотеки должны быть обновлены (.dll могут быть обновлены для исправления ошибок или проблем безопасности без перекомпиляции зависимых приложений), но если вы хотите, чтобы пользователь просто выбирал.exe и запустите его, это единственный вариант.
...