是否可以在FreeBSD中使用ubuntu的共享对象库?

时间:2014-12-02 14:02:05

标签: c ubuntu compilation makefile freebsd

我在C上用ubuntu 12.04语言开发了一个项目,我有一些共享对象库(.so文件)。现在我想在freeBSD 8.3操作系统上使用这些库。这可能吗?如果不是我该怎么办?是否有必要在freeBSD上编译我的源文件?

2 个答案:

答案 0 :(得分:4)

Andras正在谈论运行Linux 二进制文件。您正在谈论使用Linux 共享库(可能是使用在FreeBSD上编译的程序)。这是完全不同的事情。

在FreeBSD上运行一些相当有限的Linux二进制文件是可能的,因为FreeBSD内核提供了一个导出Linux兼容的填充层的模块。但是要完成这项工作,您必须拥有全Linux用户空间:您必须拥有Linux构建的共享库,Linux构建的二进制文件等。请参阅https://www.freebsd.org/doc/handbook/linuxemu.html

在FreeBSD上编译的二进制文件使用在Linux上编译的共享库是行不通的。它们具有不同的C运行时,不同的内核系统调用等。它不起作用,就像在Mac OSX上使用Linux共享库,在Intel上的Solaris或任何其他操作系统上都不起作用。

答案 1 :(得分:1)

freebsd曾经能够运行linux二进制文件,并在包中包含一组linux .so。所以有可能在某一时刻