我无法编写一个可行的makefile。我已阅读下面的教程(*),我看到,我们可以写简单的文件,如:我的makefile有什么问题?
program : program.cpp
g++ -o program program.cpp -lm
(*)http://www.pma.caltech.edu/~physlab/make.html
我试图ADPT的例子,以满足自己的需要,但它不工作:
interpreter: gvr_v51.c gvr_v51_interpreter.h
gcc gvr_v51_interpreter.h gvr_v51.c -pedantic -Wall -std=c99 -o gvr_v51 -lSDL
parser: gvr_v51_parser.h gvr_v51.c
gcc gvr_v51_parser.h gvr_v51.c -pedantic -Wall -std=c99 -o gvr_v51 -lSDL
我需要实现的是能够允许用户通过输入“make interpreter”或“make parser”进行编译。两者的区别在于第一个将包含头文件gvr_v51_interpreter.h,而另一个将包含头文件gvr_v51_parser.h
两个头文件是相同的,除了一个#define行在两个值中保持不同的值文件。头文件的其余内容包括结构声明,枚举声明以及函数原型。
是我想达到的甚至可能吗?如果是这样,你能告诉我我做错了什么吗?
谢谢。
你得到了什么错误? – AndyG
的ubuntu @ Ubuntu的VirtualBox的:〜/文档/ GVR $使解释器 GCC gvr_v51_interpreter.h gvr_v51.c -pedantic -Wall -std = C99 -o gvr_v51 -lSDL 在文件从gvr_v51.c包括:3:0: gvr_v51_file_handling.c:函数'check_args': gvr_v51_file_handling.c:6:18:错误:'ARGC_EXPECTED'未声明(首次在此函数中使用) gvr_v51_file_handling.c:6:18:注意:每个未声明的标识符仅报告一次对于每个函数,它出现在 gvr_v51_file_handling.c:7:3:warning:隐式声明函数'printf'[-Wimplicit-function-declaration] – lcazarre
您可以使用-DInterpreter,然后将#ifdef放在标题中。它是一个更好的方式来做它比有两个相同的文件...但我不知道为什么这不起作用 –