在Ubuntu 13.10上编译我的二进制文件(node.js的附件)时。然后链接器将libudev.so.1链接。
然后,将二进制文件复制到Ubuntu 12.04计算机并运行二进制文件。然后有一个错误,找不到libudev.so.1。在Ubuntu 12.04上安装了libudev.so.0。
我为gcc提供了参数-ludev
二进制文件需要libudev.so.1。我用以下命令检查了它:
$> strings bin | grep udev
$> ...
$> libudev.so.1
我如何告诉链接器应该使用操作系统提供的任何libudev版本。因此,二进制文件将需要类似
libudev.so*
的内容。 最佳答案
在神奇的Linux世界中,很难在一台计算机上进行编译和链接,然后将二进制文件复制到另一台计算机上并在其中运行。有很多变化,因为您还经历过并非彼此兼容,因此这使得二进制文件的移植非常困难,即使不是完全不可能。它可能适用于某些设置,而不适用于其他设置。现在您有两种可能性: