Могу ли я переместить мой скомпилированный исполняемый код C на другой ноутбук без установки пакета?

Я установил вызов пакета libcurl и скомпилировал код C из этого пакета в исполняемый файл. Поэтому, когда я запускаю код, я просто делаю .thiscode

Проблема в том, что я хочу запустить .thiscode на другом ноутбуке, но этот ноутбук не Linux и у него нет libcurl установлен.

Могу ли я просто перенести thiscode через USB на другой ноутбук, и сможет ли этот ноутбук выполнять код?

Как вы думаете, это будет работать?

0
задан 21 March 2015 в 23:02

1 ответ

Вряд ли. При компиляции c/c ++ код машины Linux, это (обычно) формирует двоичный файл ELF, который не могут использовать окна (и Mac). Можно, однако, использовать mingw-w64 для кросс-компиляции от хоста Linux до двоичного файла окон, и можно сделать подобные вещи для перекрестной компиляции в Mac (но процесс и намного более сложен).

Тогда прибывает факт, Вы упоминаете libcurl. Возможно, Вы просто скомпилировали источник этого, или Вы записали свою собственную программу, которая зависит от libcurl. В бывшем случае присутствие libcurl на целевой машине не имеет значения в последнем, в зависимости от того, связываете ли Вы статичный или динамично libcurl в программу, Вам, возможно, понадобится соответствующая библиотека (dll или dynlib) на целевой машине.

Невнимательный, через сильно отличающиеся операционные системы каждый не может просто скопировать/вставить двоичный файл от одного до другой и ожидать, что он будет работать. Необходимо дать изрядное количество предусмотрительности в процесс.

1
ответ дан 21 March 2015 в 23:02

Другие вопросы по тегам:

Похожие вопросы: