GNU/Linux >> Znalost Linux >  >> Linux

Ubuntu rozpozná spustitelný soubor jako sdílenou knihovnu a nespustí jej kliknutím

Toto chování jsem opravil přidáním následujícího řádku do souboru .pro mého projektu v QT:

QMAKE_LFLAGS += -no-pie

K tomuto chování dochází, protože novější distribuce ubuntu nastavily výchozí příznak odkazu GCC -pie, který označí e_type jako ET_DYN v binárním souboru. V důsledku toho operační systém rozpoznává jako sdílenou knihovnu.

Chcete-li to obejít, může být nutné přidat volbu -no-pie do kompilátoru.


Linux
  1. Vytvářejte a odebírejte odkládací soubory v Ubuntu

  2. Nastavte Apache vhost na Ubuntu 20.04 a Debian 10

  3. Jak vložit informace o verzi do sdílené knihovny a binárního souboru?

  1. libstdc++.so.5:nelze otevřít soubor sdíleného objektu - ale knihovna je nainstalovaná a aktuální

  2. Vlákna a deskriptory souborů

  3. Rozdíl mezi sdílenými objekty (.so), statickými knihovnami (.a) a DLL (.so)?

  1. Načítání sdílených knihoven a využití RAM?

  2. Sledujte souborový systém v reálném čase na OS X a Ubuntu

  3. Jak přimět systém Ubuntu, aby se spustil a běžel zcela v paměti RAM?