GNU/Linux >> Linux Esercitazione >  >> Linux

Come collegare staticamente un programma complesso

Se non puoi compilare un binario statico, ho ottenuto buoni risultati usando Statiifier.


La maggior parte autoconf generato configure script ti permetterà di creare una build statica:

 ./configure --enable-static
 make

Se ciò non funziona, potresti essere in grado di passare i flag del linker tramite LDFLAGS , in questo modo:

 ./configure LDFLAGS=-static

Presumo che stia usando gcc per compilare una serie di programmi in c, anche se dovrai cercare nel Makefile per scoprirlo.

In tal caso, puoi regolare le righe gcc nel makefile per eseguire il collegamento statico, sebbene a seconda della struttura del programma, questo potrebbe essere un cambiamento complesso. Dai un'occhiata a man gcc per vedere come si fa.

Sarei interessato a sapere perché stai collegando staticamente. Hai preso in considerazione l'utilizzo del prelinking?

Dovresti essere consapevole che potrebbero esserci problemi di licenza se tutti i componenti non sono GPL.


Sì, devi modificare il file make e aggiungere il parametro -static a gcc durante il collegamento.


Linux
  1. Impostare un IP statico su Debian 11 - Come farlo?

  2. Come reindirizzare l'output di un programma su un file zip?

  3. Ubuntu:come impostare un IP statico in Ubuntu?

  4. Collegamento statico della funzione di libreria condivisa in gcc

  5. come installare gcc 4.9.2 su RHEL 7.4

Come installare GCC su CentOS 7

Come configurare Linux come router statico

Procedura:Introduzione alla programmazione – Controllo del flusso

Modi brillanti su come eseguire un programma in Linux

Come scrivere ed eseguire un programma C in Linux

Come configurare l'indirizzo IP statico su un sistema Linux