在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] 举报,一经查实,本站将立刻删除。