在ARM嵌入式开发板上运行应用程序,出现如下错误“Inconsistency detected by ld.so: dl-deps.c: 622: _dl_map_object_deps: Assertion `nlist > 1' failed!”,出现这个错误的原因是第三方库的使用方式不正确,我在程序中用到了libpthread库,但是采用的动态链接库的方法。待我在编译参数中加上-static选项,改为静态链接libpthread库之后,这个问题得以解决,程序正常运行。
下面贴出我的Makefile供参考:
src = $(wildcard ./*.c)
obj = $(patsubst ./%.c, ./%.o, $(src))
target = can_test
CROSS_COMPILE = arm-xilinx-linux-gnueabi-gcc
FLAGS = -lpthread -static #静态链接libpthread库
$(target):$(obj)
$(CROSS_COMPILE) $^ -o $@ $(FLAGS)
%.o:%.c
$(CROSS_COMPILE) -c $< -o $@ $(FLAGS)
.PHONY:clean
clean:
rm $(obj) $(target) -f