我需要为一个程序创建一个 Makefile,该程序通过命令行接收文件作为输入。
这就是我的意思:
程序的 main 函数如下所示:
int main(long argc, char **argv) //'argument command' and 'argument vector'respectively
{
some code;
}
你编译这个C语言源代码文件
gcc main.c function1.c function2.c -o execute
这会创建一个名为“execute”的可执行程序。然后你将一个参数传递到这个程序中:
./execute filename
我创建的 makefile 包含以下内容:
all: xsd
xsd: main.o function1.o function2.o
gcc -o xsd main. function1.o function2.o
main.o: main.c
gcc -c -o main.o main.c
function1.o: function1.c
gcc -c -o function1.c
function2.o: function2.c
gcc -c -o function2.c
clean:
rm -rf *o xsd
那么如何创建一个合适的 makefile 以适应通过命令行传入的输入文件?也许是这样的:
./{argv}
有人知道怎么做吗?
最佳答案
只需修复 type-o,并使所有内容都依赖于 xsd 而不是 prog...
all: xsd
xsd: main.o function1.o function2.o
gcc -o xsd main.o function1.o function2.o
main.o: main.c
gcc -c -o main.o main.c
function1.o: function1.c
gcc -c -o function1.c
function2.o: function2.c
gcc -c -o function2.c
clean:
rm -rf *o xsd
关于c - 如何为接受命令行参数的程序创建 Makefile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18930742/