读书人

询问个uclinux下用多线程时候出现的有

发布时间: 2012-02-09 18:22:27 作者: rapoo

询问个uclinux下用多线程时候出现的问题
我的makefile是这么写的:
EXEC = hello
OBJS = hello.o

LDLIBS += -lpthread

all: $(EXEC)

$(EXEC): $(OBJS)
$(CC) $(LDFLAGS) -o $@ $(OBJS) $(LDLIBS)

romfs:
$(ROMFSINST) /bin/$(EXEC)

clean:
-rm -f $(EXEC) *.elf *.gdb *.o


而且程序里也#include <pthread.h> 了
但是编译内核时候总是出现这样的错误,出现在我make user_only这一步
错误提示在include/pthread.h文件和arm-elf/sys-include/schded.h里parse error before '__THROW '
还有很多的警告:
在pthread.h里总是紧跟上面那个错误后出现警告:data definition has no type or shorage class。
而且警告和错误提示的地方都在同一行。
希望大虾们给个提示啊


[解决办法]
会不会是工具链的 多线程支持问题? 有三种多线支持, 这是buildroot的uclibc工具链配置菜单中提供的选项.
( ) None
( ) linuxthreads
(X) linuxthreads (stable/old)
( ) Native POSIX Threading (NPTL)

[解决办法]
你有没有编译libpthread.a, 如果没有可以make menuconfig需要支持thread

读书人网 >UNIXLINUX

热点推荐