reer 发表于 2011-5-20 11:08:55

编译正确,运行提示 “can't load library 'libexpat.so.1'”

想看一看在arm 平台上的 libxml2、liblog4c、libexpat 这几个库组成的运行环境是否搭建好,写了一个测试程序,链接上这几个库(Makefile 里“LIBS   += -lxml2 -lexpat -llog4c”)

编译正确,但是运行提示 “can't load library 'libexpat.so.1'”



注:
libxml2、liblog4c、libexpat 已经拷贝到 /usr1/lib/ 下了,如下所示:
# ls libexpat.* libxml2.* liblog4c.*
libexpat.so*       liblog4c.so*       libxml2.la*      libxml2.so.2.7.1*
libexpat.so.1*   liblog4c.so.3*   libxml2.so*
libexpat.so.1.5.2* liblog4c.so.3.1.0* libxml2.so.2*



下面是 测试程序代码 和 相应的Makefile:
_____ test.c ___________________________________

#include <stdio.h>
#include "log4c.h"

int main(void)
{
   printf ("hello, world\n");

   return 0;
}



_____ Makefile __________________________________

CC      =arm-linux-gcc

CFLAGS   += -Wall -g-I/home/work/platform/runtime/include       # xml2 expat log4c 这几个库的头文件所在地;
LIBS   += -lxml2 -lexpat -llog4c -lpthread
LDFLAGS+= -L/home/work/platform/runtime/lib       # xml2 expat log4c 这几个库的所在地;
LDFLAGS+= -Wl,-rpath=/usr1/lib

EXEC = test11111
CSRC = $(wildcard *.c)

clean:
   rm -f *. *~ $(EXEC)

all: $(EXEC)

$(EXEC): $(CSRC)
   $(CC) $(CFLAGS) $(LDFLAGS) $(LIBS)   $(CSRC) -o $(EXEC)

reer 发表于 2011-5-20 17:22:51

这是跨平台编译的问题,有人遇到类似的问题吗?
页: [1]
查看完整版本: 编译正确,运行提示 “can't load library 'libexpat.so.1'”