首先,这是一个编程任务,所以你知道。C共享库:在执行时没有这样的文件或目录
无论如何,我想要做的是包括我写的共享库(来自以前项目的链接列表)与我自己的shell。我遇到的问题是,当我使用我的Makfile进行编译时,编译成功。然后,当我尝试运行我的可执行文件(让我们说这就是所谓的前卫),我得到如下:
[terminal]# ./prog
./prog: error while loading shared libraries: libmylib.so: cannot open shared object file: No such file or directory
以下是我的文件,以供参考结构:
include
|_
common.h
List.h
Node.h
lib
|_
libmylib.a
libmylib.so
libsrc
|_
Makefile // This makefile builds the library correctly and puts it in lib via 'make install'
List.c
List.h
Node.c
Node.h
common.h
Makefile
prog.c
这是我主要的Makefile
CC=gcc
CFLAGS=-g -Wall -Llib
LIBS=-lreadline -lncurses -lmylib
PROGS=library prog
all: $(PROGS)
library:
cd libsrc; make install
prog: prog.o
$(CC) $(CFLAGS) -o [email protected] $< $(LIBS)
clean:
cd libsrc; make installclean
/bin/rm -f *.o $(PROGS) a.out core *.log
任何帮助或建议表示赞赏,谢谢!
顺便说一句 - 通过所有的实际编译和只是遇到运行时问题的荣誉。 – 2014-10-01 19:58:55