Makefile文件大致如下:
CC = arm-linux-gcc
INCLUDE = ../include
CFLAGS = -Wall -O1 -I../include -Dlinux
TARGET = libtest.so
LFLAGS = -shared -L ../lib -static -lm -lc
%.o: %.c
$(CC) $(CFLAGS) -c $< -o $@
SOURCES = $(wildcard *.c )
OBJS = $(patsubst %.c,%.o,$(patsubst %.c,%.o,$(SOURCES)))
$(TARGET) : $(OBJS)
$(CC) $(OBJS) $(LFLAGS) -o $(TARGET)
可以编译成功,但是载到开发板是使用dlopen出错。 dlopen("./libtest.so",RTLD_LAZY) 返回的指针为0x0。
dlerror() 返回的信息 为 unexpected reloc type 0x03。
一直定位不到错误,查到的信息说要添上
LD:=arm-linux-ld
但是还未验证,请大虾们看看是否还有其他错误。