以下是我makefile.lnx
的内容:
PATHDIR = ../../..
PATHINC = $(PATHDIR)/include
PATHLIB = $(PATHDIR)/lib/linux
CC = gcc
CFLAGS = -I. -I.. -I$(PATHINC) -O3
all:
$(CC) $(CFLAGS) -o main main.c ../SimpleLCP_Path.o -L$(PATHLIB) -lpath47 -lm
我在其文件夹中并运行ls ../../../include
,这将提供一堆.h
个文件。正在运行
$ ls ../../../lib/linux
libpath47.a libpath47.so
这正是镜像makefile中的路径结构。
make -f makefile.lnx
运行没有问题。然而,
$ ./main
./main: error while loading shared libraries: libpath47.so: cannot open shared object file: No such file or directory
我99%确定完全相同的文件结构和完全相同的makefile在我的mac上工作,但我现在没有它可访问。这里发生了什么?