GCJ: нативный код Java, не будет работать на других машинах
Я попробовал GCJ, и он скомпилирован нормально. Я пробовал как для Ubuntu, так и для Windows. Скомпилированный файл работает на моей машине с Ubuntu, а также.exe с вином. Но если я попытался запустить на своем сервере Ubuntu, я получил эту ошибку:
error while loading shared libraries: libgcj.so.14: cannot open shared object file: No such file or directory
Но я подумал, что мне не нужно ничего устанавливать для запуска "родного" кода. Я также не мог запустить.exe на машине с Windows.
Не могли бы вы сказать мне, почему это происходит? Может я неправильно компилирую. Я использую это: gcj --main=Hello -o hello.exe Hello.jar
для окон.
1 ответ
Когда вы запускаете исполняемый файл, очень часто требуется общая библиотека, используете ли вы Visual Studio .NET или Java или C++.
Когда вы компилируете программу для конкретной платформы, она обычно работает только на этой платформе или аналогичной. Если вы хотите запустить эту программу в Windows, вам нужно скомпилировать ее для Windows.
Кстати, GCJ довольно старый и устарел. Я предлагаю вам использовать Java 7 или 8. Это позволит избежать необходимости устанавливать дополнительные библиотеки и будет работать в Windows или Linux без перекомпиляции.