Posso mover meu código C executável compilado para outro laptop sem a instalação do pacote?

0

Eu instalei uma chamada de pacote libcurl e compilei um código C desse pacote em um executável. Então, quando eu corro o código, eu só faço .thiscode

O problema é que eu quero executar .thiscode em outro laptop, mas esse laptop não é Linux e não tem libcurl instalado.

Posso transferir apenas thiscode via USB para outro laptop e esse laptop poderá executar o código?

Você acha que isso vai funcionar?

    
por andy_ttse 21.03.2015 / 21:02

1 resposta

1

Não é provável. Quando você compila o código c / c ++ em uma máquina linux, ele (tipicamente) forma um binário ELF, que windows (e mac) não podem usar. Você pode, no entanto, usar mingw-w64 para crosscompile de um host linux para um binário do Windows, e você pode fazer coisas semelhantes para cross compiling para mac (mas o processo é muito mais complicado).

Depois vem o fato de você mencionar o libcurl. Talvez você tenha compilado a fonte disso, ou você escreveu seu próprio programa que depende do libcurl. No primeiro caso, a presença de libcurl na máquina de destino não importa, na segunda, dependendo de você estar ou não vinculado dinamicamente à libcurl no programa, você pode precisar da biblioteca appropreate (dll ou dynlib) na máquina de destino.

Independentemente, em sistemas operacionais amplamente diferentes, não se pode simplesmente copiar / colar um binário de um para o outro e esperar que funcione. Você tem que dar uma boa dose de antecipação no processo.

    
por The NetZ 21.03.2015 / 21:12