微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Linux链接到任何可用的库版本

在Ubuntu 13.10上编译我的二进制文件(addon for node.js)。 那么链接器就会把libudev.so.1链接起来。

然后我将这个二进制文件复制到一个Ubuntu 12.04机器上并运行这个二进制文件 然后有一个libudev.so.1找不到的错误。 在Ubuntu 12.04上安装了libudev.so.0。

我提供gcc与param -ludev

二进制期望libudev.so.1。 我用这个命令检查它:

Windows Netapi32

我怎样才能使用boost来asynchronous执行两个线程?

如何知道一个共享库是否依赖于另一个共享库?

如何在特定的界面上使用cURL

仅在Qt 5.5中,将错误与RegisterDeviceNotification链接

$> strings bin | grep udev $> ... $> libudev.so.1

我怎么能告诉链接器它应该采取任何提供的libudev版本的操作系统。 所以二进制文件需要像libudev.so*这样的东西。

发送path具有空间batch file从C#

在C中select()问题(Windows 7)

检测文件是否被操作系统阻止

这个应用程序已经请求运行时以不寻常的方式终止它。

VS2012 Project + openssl(LNK2001)

在神奇的Linux世界中,在一台机器上编译和链接非常困难,然后将二进制文件复制到另一台机器上并在那里运行。 有很多变化,因为你也经历过并不是所有的兼容,所以这使得二进制文件的移植非常困难,如果不是完全不可能的话。 它可能适用于某些设置,而不适用于其他设置。 现在你有两种可能性:

我认为,你的12.04是一个生产环境,所以你不能做任何你想做的事情……所以,在这种情况下,创建一个相同的(虚拟)机器到Ubuntu 12.04编译和链接。 将可执行文件复制到需要在其上运行的12.04。 机会是没有问题的。

如果关于生产环境的假设不成立,那么安装编译器和必要的环境,并在远程机器上编译源代码。 这样你就会知道它会一直在那台机器上工作。

在你的12.04中找出libudev.so.0在哪个位置。 然后使用libudev.so.1与该库建立符号链接,然后参阅。

为了使符号链接

ln -sf /opt/lib/libudev.so.1 /opt/lib/libudev.so.0

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐