Ubuntu 13.10 (32 ビット) で Qt Creator を使用して C++ プログラムを作成し、コンパイルしました。新しくインストールした Ubuntu 13.10 (64 ビット) でコンパイルしたプログラムを実行しようとしましたが、実行されません。
問題は依存関係にあると思います。必要な依存関係を見つけるにはどうすればよいでしょうか (=名前とバージョンを知るにはどうすればよいでしょうか)?
答え1
これは少し粗雑ですが、ldd コマンドはあなたの状況に適していると思います。
ldd は、実行可能ファイルに対して動的にロードされたライブラリ依存関係をリストするために使用されます。 ldd が必要なライブラリを見つけられない場合、ライブラリが「見つかりません」と表示されます。
たとえば、私が見つけた古い gqrx バイナリを使用して ldd を実行すると、次の出力が得られます。
linux-gate.so.1 (0xb7fff000)
libgnuradio-audio.so.3.6.1 => not found
libgnuradio-osmosdr.so.0 => not found
libgnuradio-core.so.3.6.1 => not found
libgruel.so.3.6.1 => not found
libfftw3f.so.3 => /usr/lib/i386-linux-gnu/libfftw3f.so.3 (0x41b5d000)
libusb-1.0.so.0 => /lib/i386-linux-gnu/libusb-1.0.so.0 (0x422ee000)
libQtGui.so.4 => /usr/lib/i386-linux-gnu/libQtGui.so.4 (0x42e47000)
libQtCore.so.4 => /usr/lib/i386-linux-gnu/libQtCore.so.4 (0xb7cde000)
libpthread.so.0 => /lib/i386-linux-gnu/i686/cmov/libpthread.so.0 (0x411dc000)
ご覧のとおり、私はその後 libgnuradio ライブラリをアップグレードし、古いバージョンを削除しました。ldd は、不足しているライブラリを「見つかりません」としてリストします。
幸運を!