C:使用Makefile创建静态库和链接

时间:2015-07-15 04:37:29

标签: c makefile static-libraries

我正在尝试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

另外,如果您可以协助改进代码,我会非常感激。

0 个答案:

没有答案