我正在尝试编译并制作下一个结构的Makefile:
|-- build
|-- include
| \-- functions.h
\-- src
|-- functions.c
\-- main.c
在那里编写的代码已在IDE上测试过,所以我知道它有效。我只需要编译它但是idk如何执行2 .c文件和.h文件。另外,我需要制作一个makefile。怎么样?
谢谢。
答案 0 :(得分:1)
Makefile
只是一些文本文件(其中 tab 字符至少在启动命令行时重要)。使用一些source code editor来创建或改进它;我更喜欢GNU emacs所以推荐它,但你可以使用其他编辑器(例如vim,gedit
等等),这是一个品味问题。顺便说一句,别忘了使用一些版本控制系统(我推荐git)。
在创建Makefile
之前,请花一些时间阅读documentation of make
。请注意众多内置规则(您可以通过运行make -p
获得)并利用它们。
如何执行.c文件和.h文件。
您没有执行 .c
个文件,但是将它们提供给您的C compiler。我建议使用GCC(或者Clang/LLVM)作为C编译器。
你可能应该将CC
make变量(它给出默认的C编译器)设置为gcc
,并设置CFLAGS
变量(它给出了默认的编译器标志)。
请阅读有关Invoking GCC的文档。您肯定希望编译所有警告和调试信息。
因此,我建议您在Makefile
CC= gcc
CFLAGS= -Wall -Wextra -g
当然,您需要Makefile
中的其他行。我留给你阅读更多和实验。 This和that应该是鼓舞人心的。
您可能希望在Makefile
中提及对头文件的依赖性。
所以我请你写你的 Makefile
。将其视为source code,因此备份和版本控制它。
src/
和include/
目录是有用的,我相信引入build/
目录只会增加不必要的复杂。 YMMV。
在那里编写的代码已经在IDE上测试过,所以我知道它有效。
这可能是一种错觉。有时你可能会遇到运气不好的undefined behavior只是“出现”才能运作但却是一个错误。请参阅this answer并按照我在那里提供的链接。
使用make
构建了许多free software个项目;看看github和其他地方找一些。有时Makefile
会自行生成$('#element').fadeToogle(500);
(例如,使用cmake,qmake或autoconf),但在您的简单情况下这不值得。
PS。不要指望StackOverflow做你的功课。