GNU/Linux >> Linux の 問題 >  >> Linux

Ubuntuは実行可能ファイルを共有ライブラリとして認識し、クリックしても実行しません

QT でプロジェクトの .pro ファイルに次の行を追加して、この動作を修正しました:

QMAKE_LFLAGS += -no-pie

この動作は、新しい ubuntu ディストリビューションが GCC のデフォルト リンク フラグ -pie を設定し、バイナリ ファイルで e_type を ET_DYN としてマークするために発生しています。その結果、オペレーティング システムは共有ライブラリとして認識します。

これを回避するには、コンパイラ オプションに -no-pie を追加する必要がある場合があります。


Linux
  1. Ubuntuでスワップファイルを作成および削除する

  2. libstdc++.so.5:共有オブジェクト ファイルを開けません - ただし、ライブラリはインストールされており、最新です

  3. スレッドとファイル記述子

  1. Ubuntu – * .runファイルをアンインストールしますか?

  2. 共有ライブラリのロードとRAMの使用?

  3. 共有オブジェクト (.so)、静的ライブラリ (.a)、および DLL (.so) の違いは?

  1. Ubuntu20.04およびDebian10でApache仮想ホストをセットアップします

  2. バージョン情報を共有ライブラリとバイナリに埋め込む方法は?

  3. libpng 警告:アプリケーションとライブラリで互換性のない libpng バージョン