2012-03-19 8 views
0
/usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/ld: cannot find -lrtdk 

ldのマンページでこれに関する何かを見つけることができません。続き
http://www.cs.ru.nl/lab/xenomai/exercises/ex01/Exercise-1.html
はMakefileのです:linux/bin/ld:-lrtdkが見つかりませんXenomai

###### CONFIGURATION ###### 

### List of applications to be build 
APPLICATIONS = hello 

### Note: to override the search path for the xeno-config script, use "make XENO=..." 


### List of modules to be build 
MODULES = 

### Note: to override the kernel source path, use "make KSRC=..." 



###### USER SPACE BUILD (no change required normally) ###### 
ifeq ($(KERNELRELEASE),) 
ifneq ($(APPLICATIONS),) 

### Default Xenomai installation path 
XENO ?= /usr/xenomai 

XENOCONFIG=$(shell PATH=$(XENO):$(XENO)/bin:$(PATH) which xeno-config 2>/dev/null) 

### Sanity check 
ifeq ($(XENOCONFIG),) 
all:: 
    @echo ">>> Invoke make like this: \"make XENO=/path/to/xeno-config\" <<<" 
    @echo 
endif 


CC=$(shell $(XENOCONFIG) --cc) 

CFLAGS=$(shell $(XENOCONFIG) --xeno-cflags) $(MY_CFLAGS) 

LDFLAGS=$(shell $(XENOCONFIG) --xeno-ldflags) $(MY_LDFLAGS) -lnative 

# This includes the library path of given Xenomai into the binary to make live 
# easier for beginners if Xenomai's libs are not in any default search path. 
LDFLAGS+=-Xlinker -rpath -Xlinker $(shell $(XENOCONFIG) --libdir) 

LDFLAGS+= -lrtdk 

all:: $(APPLICATIONS) 

clean:: 
    $(RM) $(APPLICATIONS) *.o 

endif 
endif 



###### SPECIAL TARGET RULES ###### 
rtprint: rtprint.c 
    $(CC) $(CFLAGS) $? $(LDFLAGS) -lrtdk -o [email protected] 



###### KERNEL MODULE BUILD (no change required normally) ###### 
ifneq ($(MODULES),) 

### Default to sources of currently running kernel 
KSRC ?= /lib/modules/$(shell uname -r)/build 

OBJS  := ${patsubst %, %.o, $(MODULES)} 
CLEANMOD := ${patsubst %, .%*, $(MODULES)} 
PWD  := $(shell if [ "$$PWD" != "" ]; then echo $$PWD; else pwd; fi) 

### Kernel 2.6 
ifeq ($(findstring 2.6,$(KSRC)),2.6) 

obj-m  := $(OBJS) 
EXTRA_CFLAGS := -I$(KSRC)/include/xenomai -I$(KSRC)/include/xenomai/posix $(ADD_CFLAGS) 

all:: 
    $(MAKE) -C $(KSRC) SUBDIRS=$(PWD) modules 

### Kernel 2.4 
else 

ARCH ?= $(shell uname -i) 
INCLUDE := -I$(KSRC)/include/xenomai -I$(KSRC)/include/xenomai/compat -I$(KSRC)/include/xenomai/posix 
CFLAGS += $(shell $(MAKE) -s -C $(KSRC) CC=$(CC) ARCH=$(ARCH) SUBDIRS=$(PWD) modules) $(INCLUDE) 

all:: $(OBJS) 

endif 

## Target for capturing 2.4 module CFLAGS 
modules: 
    @echo "$(CFLAGS)" 

clean:: 
    $(RM) $(CLEANMOD) *.o *.ko *.mod.c Module*.symvers 
    $(RM) -R .tmp* 

endif 

助けてください。

答えて

2

リンカーにライブラリファイルlibrtdk [.a | .so]がありません。

0

rtdkがlibxenomai [.a | .so]

に含まれているため、LDFLAGS + = -lrtdkをLDFLAGS + = -lxenomaiに変更する必要があります。
関連する問題