如何处理静态库中不包含在任何 .cpp 中的 .hpp
How to handle .hpp not included in any .cpp in a static library
我正在编写一个用于构建库的 makefile,这是它的摘录,与我要问的问题相关:
SRCS = $(wildcard *.cpp)
OBJS = $(SRCS:.cpp=.o)
OUT = my_library #there is a .cpp file called my_library
$(OUT): $(OBJS)
ar rvs $(OUT).a $(OUT).o
$(OBJS): $(SRCS)
$(CC) $(SCRS) $(FLAGS) -c $< -o $@
这有一个问题,如果我有一个悬空头文件,悬空意味着它不包含在任何 .cpp 文件中,makefile 不会将其用于编译。
我该怎么办?要手动列出它们并将它们添加为 $(OBJS)
的依赖项和目标?我不认为这是我必须遵循的方式。
头文件只是定义源文件中的内容或生成代码在使用时。在库文件的情况下,它们生成的代码将在调用代码中产生,而不是库代码,因此编译库时不需要生成任何内容。
我正在编写一个用于构建库的 makefile,这是它的摘录,与我要问的问题相关:
SRCS = $(wildcard *.cpp)
OBJS = $(SRCS:.cpp=.o)
OUT = my_library #there is a .cpp file called my_library
$(OUT): $(OBJS)
ar rvs $(OUT).a $(OUT).o
$(OBJS): $(SRCS)
$(CC) $(SCRS) $(FLAGS) -c $< -o $@
这有一个问题,如果我有一个悬空头文件,悬空意味着它不包含在任何 .cpp 文件中,makefile 不会将其用于编译。
我该怎么办?要手动列出它们并将它们添加为 $(OBJS)
的依赖项和目标?我不认为这是我必须遵循的方式。
头文件只是定义源文件中的内容或生成代码在使用时。在库文件的情况下,它们生成的代码将在调用代码中产生,而不是库代码,因此编译库时不需要生成任何内容。