GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Ubuntu erkennt die ausführbare Datei als gemeinsam genutzte Bibliothek und führt sie nicht durch Klicken aus

Ich habe dieses Verhalten behoben, indem ich der .pro-Datei meines Projekts in QT die folgende Zeile hinzugefügt habe:

QMAKE_LFLAGS += -no-pie

Das Verhalten tritt auf, weil neuere Ubuntu-Distributionen das GCC-Standard-Link-Flag -pie setzen, das e_type als ET_DYN in der Binärdatei markiert. Folglich wird das Betriebssystem als Shared Library erkannt.

Um dies zu umgehen, kann es notwendig sein, -no-pie zur Compiler-Option hinzuzufügen.


Linux
  1. Vagrant unter Ubuntu 20.04 installieren und ausführen

  2. Ubuntu – *.run-Datei deinstallieren?

  3. Laden von Shared Libraries und RAM-Nutzung?

  4. libpng-Warnung:Inkompatible libpng-Version in Anwendung und Bibliothek

  5. (C/C++) Wie generiert man eine ausführbare Datei, die sowohl unter Windows als auch unter Linux ausgeführt werden kann?

So führen Sie .bin- und .run-Dateien in Ubuntu aus

So überprüfen Sie die Ubuntu-Version – schnelle und einfache Methoden

Erstellen und entfernen Sie Auslagerungsdateien in Ubuntu

So erstellen und führen Sie ein Shell-Skript in Ubuntu 22.04 aus

Wie teilt man Dateien zwischen Ubuntu und Windows 10?

Sehen Sie sich das Dateisystem in Echtzeit auf OS X und Ubuntu an