我正在尝试understand static and shared Libraries。
我想执行以下操作来创建一个makefile,它将单独的编译和链接分开,以便创建和链接静态库 在形成最终的静态可执行文件。
我有Makefile的以下代码,但是我收到以下错误
Makefile:13: *** missing separator. Stop.
但我也试图了解如何实际链接/创建库。
如果我在他们工作的终端中line 12
之后运行命令,而不是在makefile中。
myProgram: main.o addSorted.o freeLinks.o
gcc -lm -o myProgram main.o addSorted.o freeLinks.o
main.o: main.c
gcc -O -c -lm main.c main.h
addSorted.o: addSorted.c addSorted.h
gcc -O -c -lm addSorted.c
freeLinks.o: freeLinks.c freeLinks.h
gcc -O -c -lm freeLinks.c
ar rc libmylib.a main.o addSorted.o freeLinks.o //Error Line
ranlib libmylib.a
gcc -o foo -L. -lmylib foo.o
clean:
rm -f myProgram main.o addSorted.o freeLinks.o
另外,如果您可以协助改进代码,我会非常感激。