【问题标题】:Embedded Linux. Symbol lookup error嵌入式 Linux。符号查找错误
【发布时间】:2012-10-20 14:43:54
【问题描述】:

我制作了 userdef.c 来添加一些函数 otsu_Threshold 和 onBinarOtzu。 函数库头文件是pxa_lib.h,我输入了这样的函数

void otzu_Threshold(unsigned char* orgImg, unsigned char* outImg, int height, int width);

void onBinarOtzu(unsigned char* m_InImg);

在文件夹“demo”中的 camera.c 中,我输入了

'#include

....

....

onBinarOtzu(vidbuf->ycbcr.y);

制作文件

CC=/usr/local/arm-linux-4.1.1/bin/arm-linux-gcc

CFLAGS+= -mcpu=iwmmxt -mtune=iwmmxt -mabi=aapcs-linux \

  -Iinclude/ -DDEBUG_BUILD

LFLAGS+=-Llib/-lpxadev

.PHONY: all compile install-host install-target clean clean-local \

卸载主机卸载目标

全部:编译安装主机安装目标

编译:lib/libpxadev.so bin/camera

lib/libpxadev.so: driver/camera.o driver/overlay2.o driver/userdef.o

$(CC) $(CFLAGS) -shared -W1,-soname,libpxadev.so -o lib/libpxadev.so $^

bin/camera: demo/camera.c

$(CC) $(CFLAGS) $(LFLAGS) -o $@ $^

安装主机:

安装目标:

清洁:清洁本地卸载主机卸载目标

干净的本地:

-rm -f lib/* 驱动程序/*.o

-rm -f bin/*

卸载主机:

-rm -f $(PXA_HOST_LIB_DIR)/libpxadev.so

卸载目标:

$(SUDO) rm -f $(PXA_TARGET_BIN_DIR)/相机

$(SUDO) rm -f $(PXA_TARGET_LIB_DIR)/libpxadev.so

我制作了二进制文件并通过minicom,zmodem在机器人中传输。

但是,发生了错误。

[root@WENDERS root]# [root@WENDERS root]# ./camera
PXA_CAMERA:选择 MT.... 传感器
PXA_CAMERA:选择 MT.... 传感器
camera_config : streamparm.type = 1
计数 = 3
宽度=320,高度=240
./camera: 符号查找错误: ./camera: undefined symbol: onBinarOtzu

我该怎么办...

ps。对不起。我英语不好...

【问题讨论】:

    标签: linux embedded


    【解决方案1】:

    看起来您在编译时链接到共享库,但它们没有加载到目标上。

    您必须将库添加到 Linux 可以找到它们的位置,可能在 /usr/lib/lib,或者由 $LD_LIBRARY_PATH 变量指定的位置。具体如何执行此操作取决于您设置的环境。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-12
      • 1970-01-01
      • 2018-02-09
      • 2017-07-14
      相关资源
      最近更新 更多