Какие параметры для запуска на другом компьютере?
Модератор: Модераторы
Какие параметры для запуска на другом компьютере?
Какие параметры проекта задавать чтобы программу можно было запустить на другом компьютере?
Что нужно указать в настройках дополнительно при компиляции чтобы все нужные библиотеки были включены в программу при сборке? Для запуска программы на другом компьютере где не установлен лазарус. Программирование под линукс
Что нужно указать в настройках дополнительно при компиляции чтобы все нужные библиотеки были включены в программу при сборке? Для запуска программы на другом компьютере где не установлен лазарус. Программирование под линукс
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
Программа, в случае отсутствия особых зависимостей, спокойно запускается на другом компьютере. Исключение составляют случаи работы с базами данных... возможно, некоторые другие. Все библиотечные модули включены в программу. Для внешних библиотек нужно указать зависимости в инсталляторе. Рунтайм библиотек не предусмотрено.
fpc, в отличии от gcc, по умолчанию имеет статическую линковку, т.е. всё будет включено в бинарник, кроме конечно *.so библиотек.
делаю эксперимент. в линуксе создаю проект и компилирую произвольное приложение. потом меняю расположение папки (переношу в нелинуксовый раздел - не знаю важно это или нет, по идее должно быть параллельно) с проектом и меняю название папки. пытаюсь из под линукса запустить приложение и оно не запускается. в билдере - чтобы приложение можно было переносить на другой комп нужно при компиляции опции указать чтобы включить все библиотеки в исполняемый файл или проект. так что я думаю тут такая же ситуация. нужно какие-то опции указывать дополнительно при компиляции. а вот какие? это вопрос!
Права на запуск при этом сохраняются?
Вы уверены, что переносите бинарный файл?
Вы уверены, что переносите бинарный файл?
wavebvg писал(а):Права на запуск при этом сохраняются?
Вы уверены, что переносите бинарный файл?
на счет прав - там все по умолчанию. я права никакие нигде не менял. просто перенес и запустил.
я переносил не файл, а всю папку с проектом
переношу в нелинуксовый раздел
Если перенести на NTFS например, права на запуск и тд. слетят.
Helltar писал(а):Если перенести на NTFS например, права на запуск и тд. слетят.
хитро придумано. но не очень удобно.
чтобы снова запустить программу надо переместить её в линуксовый раздел и перекомпилировать её заново. при переноске проги с одного компа на другой к примеру пользователь может её случайно положить в произвольную папку любой файловой системы. и не имея доступа к исходнику потом её не сможет запустить. очень неудобно на мой взгляд
gringo писал(а):хитро придумано. но не очень удобно.
Что бы запустить программу, переместите её бинарник на родную ФС, в файловом менеджере вызовите свойства файла и найдите там галочку с надписью ~ "Исполняемый файл" (дословно не скажу, зависит от вашего файлового менеджера и локализации).
gringo писал(а):чтобы снова запустить программу надо переместить её в линуксовый раздел и перекомпилировать её заново
Ага, щас. На самом деле достаточно chmod +x filename чтобы файл стал снова исполнимым.
gringo писал(а):хитро придумано. но не очень удобно.
Если учесть, что эта файловая система еще совсем не давно не поддерживалась на запись, а кое где на самых правильных компьютерах - до сих пор не поддерживается, так можно радоваться что хоть так работает. Что делает на линуксовой машине раздел с NTFS? Вот зачем он там?
gringo писал(а):чтобы снова запустить программу надо переместить её в линуксовый раздел и перекомпилировать её заново
не надо ничего перекомпилировать. готовый бинарник по умолчанию включает в себя все библиотеки и должен работать везде. просто тебе нужно подучить линукс.
тут уже объяснили, но я тоже попробую.
в линуксе у файлов есть некоторые привилегии. эти привилегии мы можем менять в свойствах файла. одна из таких привилегий это способность файла запускаться, как exe в винде. когда файл переносишь на NTFS, эта привилегия слетает и нужно в свойствах её заново выставить.
всем спасибо за ответы. причина теперь понятна. заходишь в свойства исполняемого файла и там ставишь галочку на пункте "выполняемый файл" и все. эта галочка выключается когда папка с проектом оказывается в разделе NTFS, как уже выше товарищи правильно объяснили )
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
gringo писал(а):хитро придумано. но не очень удобно.
Иногда, когда сидишь в 2х и более системах, это очень удобно. Позволяет избежать некоторого геморроя с доступом к файлам.
