由于缺少libpthread.so.0,OpenWrt SDK自定义包'make'失败

时间:2013-06-26 13:38:51

标签: c pthreads openwrt

所以我写了一个程序,在运行OpenWrt Attitude Adjustment 12.09的Tp-link设备上运行。

我在/OpenWrt-SDK../package/myprogram/src/Makefile中成功编写了makefile,当我做'make'时,它都运行得很顺利。

现在我在程序中添加了线程,所以我按照这样配置了Makefile:

# build myprogram executable when user executes "make"
LDFLAGS=-pthread

myprogram: myprogram.o
    $(CC) $(LDFLAGS) myprogram.o -o myprogram
myprogram.o: myprogram.c
    $(CC) $(CFLAGS) -c myprogram.c

# remove object files and executable when user executes "make clean"
clean:
    rm *.o myprogram

当我在package / myprogram / src文件夹中'make'时,它会成功编译并在我的电脑上运行得很好。

现在当我转到根目录OpenWrt-SDK目录'make'时,我得到一个缺少的依赖项错误:

Package myprogram is missing dependencies for the following libraries:
libpthread.so.0

那么我需要做些什么才能包含这些依赖项?

我去了我的OpenWrt-SDK root并试过:

./scripts/feeds search libpthread

我得到了这个结果:

./scripts/feeds search libpthread
Search results in feed 'trunk':
libpthread                  POSIX thread library

我应该安装它还是不安装?我不知道我是否做错了什么。

我将不胜感激任何帮助! 感谢。

1 个答案:

答案 0 :(得分:5)

在包定义下添加

DEPENDS:=+libpthread