記事ディレクトリ
背景
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 などを実行します。