我在 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 将那些缺失的库列为“未找到”。
祝你好运!