我刚刚开始学习“make”命令和其他从中派生的东西。我得到了这个很好的参考 html 页面,它教会了我关于“制作”概念 http://www.cs.swarthmore.edu/~newhall/unixhelp/howto_makefiles.html 它说,像这样
引用:
*# define any directories containing header files other than /usr/include
#
INCLUDES = -I/home/newhall/include -I../include
# define library paths in addition to /usr/lib
# if I wanted to include libraries not in /usr/lib I'd specify
# their path using -Lpath, something like:
LFLAGS = -L/home/newhall/lib -L../lib
# define any libraries to link into executable:
# if I want to link in libraries (libx.so or libx.a) I use the -llibname
# option, something like (this will link in libmylib.so and libm.so:
LIBS = -lmylib -lm*
好吧,这是我不明白的事情。我不明白为什么你必须包括
用 INCLUDES 和 LFLAGS 分开头文件。/usr/lib 和 /usr/include 中的文件有什么区别?对我来说似乎几乎相同,因为两者都包含不是共享对象(+archieves)或环境路径中的头文件路径。
另外,由于 usr/include 是编译时的默认路径,是否也包含子目录中的所有文件?例如,我想做的是,我想包含 /usr/include/gtk+-3.0 作为附加路径,但由于它是子目录,我是否必须包含它?