Linux 上の QtCreator では、[root ユーザーを使用する] チェックボックスをオンにすると、共有ライブラリのロード中にエラーが発生するという問題が発生します。

背景

Linux でプログラムをデバッグする場合、特定のデバイスに接続して操作するために root 権限を取得する必要がある場合があります。
以前は、スクリプト[最初に QtCreator でカスタム コマンドを実行し、次にプログラムを実行] によってこれを実行していました。つまり、スクリプトで権限を取得するため、スクリプトの内容は次のようになります。

echo "mypwd" | sudo -S -E LD_LIBRARY_PATH=$LD_LIBRARY:/home/yong/Desktop/two_axis/libIR/x86-linux_libs ./TemperatureMonitor

しかし、これには問題があり、ブレークポイントデバッグができないため、何か問題が発生した場合、どこで問題が発生しているのかを見つけるのが困難です。
ただし、スクリプトを使用せずにデフォルトの実行可能プログラムを開始し、「root ユーザーとして実行」にチェックを入れると、共有ライブラリのロード中にエラーが発生します。
ここに画像の説明を挿入します環境変数 LD_LIBRARY_PATH を設定している場合でも。
ここに画像の説明を挿入します

解決

最新バージョンの QtCreator 11.0.1 では、解決策は簡単です。「ターミナルで実行」もチェックしてください。
ここに画像の説明を挿入します
ここに画像の説明を挿入します次に、コンソールにパスワードを入力します。

その他のソリューション

古いバージョンの QtCreator では、非 root ユーザーも操作できるように操作オブジェクトの権限を変更できるかどうかのみを確認できます。たとえば、chmod などを実行します。

おすすめ

転載: blog.csdn.net/joyopirate/article/details/132163538