/usr/lib/libgmodule-2.0.so:无法读取符号:文件格式错误

时间:2015-08-27 11:10:01

标签: compilation compiler-errors cross-compiling compiler-warnings

我尝试从源代码中交叉编译bluez-utils-3.36

主机(构建代码的机器)

Processor: Intel(R) Xeon(R) CPU E5-2420 0 @ 1.90GHz
OS Version: Linux 2.6.32-44 generic

目标机器:(应运行编译文件的目标)

Processor: ARM926EJ-S rev 5 (v5l)
OS Version: Linux 2.6.35.3-571 

目标似乎有一个ARM处理器,所以我导航到bluez-utils-3.36并执行以下命令:

./configure \
--host=arm-linux \
BLUEZ_CFLAGS=-I/home/shortened_the_path/bluetooth/bluez-libs-3.36/include \
BLUEZ_LIBS="-L/home/shortened_the_path/bluetooth/bluez-libs-3.36/src/.libs -lbluetooth"

此操作成功。在此之后我执行了make,并收到此错误:

/usr/lib/libgmodule-2.0.so: could not read symbols: File in wrong format

  • 我的libgmodule-2.0.so文件是否已损坏?

有谁知道我怎么可能解决这个问题?

1 个答案:

答案 0 :(得分:1)

您正在为arm编译,但您尝试链接的libgmodule库是为您的PC架构而构建的。所以你必须交叉编译glib,这是bluez的依赖。

查看此链接,详细说明如何交叉编译bluez

http://wiki.beyondlogic.org/index.php?title=Cross_Compiling_BlueZ_Bluetooth_tools_for_ARM