2

我有一个 .NET 应用程序,我想在运行 Debian Linux (Power PC) 的嵌入式处理器上运行。

嵌入式处理器上的这个受限版本的 linux 没有安装 GLIB。所以我想使用嵌入式 GLIB (EGLIBC) 编译单声道。

$ cd mono-2.8.2 
$ ./configure CFLAGS=-O2 --prefix=/usr/local --with-glib=embedded --enable-nls=no

Engine: 
   GC:       sgen and bundled Boehm GC with typed GC and parallel mark 
   GLIB:       embedded <----- Embedded Setting taken correctly 

$ make 
$ make install 

现在,Mono 在我的 Power PC 计算机(安装了 GLIB)上运行良好。然后我将单声道可执行文件(~8Megs)通过 FTP 传输到我的嵌入式设备,当我尝试执行单声道时出现以下错误:

dce> ./mono 
./mono: /lib/libpthread.so.0: version `GLIBC_2.3.3' not found (required by ./mono)
./mono: /lib/libpthread.so.0: version `GLIBC_2.6' not found (required by ./mono)
./mono: /lib/libpthread.so.0: version `GLIBC_2.3.4' not found (required by ./mono)
./mono: /lib/libc.so.6: version `GLIBC_2.4' not found (required by ./mono) 

我不明白为什么当我使用“--with-glib=embedded”编译时,mono 会问我有关 GLIBC 库的问题。此外,在“make install”之后,我在安装的文件夹中找不到任何 eglib 库。

4

1 回答 1

1

嵌入式 glib 与嵌入式 glibc 不同。它们是完全不同的库。

Mono 的“eglib”(嵌入式 glib)是最低级 GNOME 库之一的子集的重新实现,它简化了 C 中的跨平台编程,并包含许多便利函数和数据类型(如哈希表等)。

您可以在此处阅读有关 glib API 的更多信息:http: //developer.gnome.org/glib/2.34/

eglibc 是 glibc 的嵌入式版本,glibc 是 Linux 系统上的标准 C 库。

于 2013-01-31T14:50:46.377 回答