#只需要更改目标名NAME和clean中要删除的文件类型,包含文件的路径,文件添加部分可以自动完成
NAME = libnpconfiguration.so
OBJS = $(patsubst %.cpp, %.o, $(wildcard *.cpp))OBJS += $(patsubst %.c, %.o, $(wildcard *.c))
CC = arm-none-linux-gnueabi-g++
INC = -I /usr/lib/xulrunner-sdk/include\
-I /usr/lib/xulrunner-sdk/include/nspr\
-I /usr/lib/xulrunner-sdk/include/plugin\
-I /usr/lib/xulrunner-sdk/include/java
all: $(NAME)
$(NAME): $(OBJS)
@echo [LD] $^
@$(CC) $(INC) -w -shared -o $@ $^
%.o: %.c* *.h
@echo [CC] $<
@$(CC) $(INC) -w -shared -c $<
clean:
@rm -f *.so *.o
本文深入探讨了C++程序的编译与链接过程,详细解释了编译器如何将源代码转换为可执行文件,以及链接器如何将多个目标文件组合成最终的可执行文件。包括OBJS变量的定义、编译参数的选择、链接过程中的关键步骤等,旨在帮助开发者更好地理解并优化编译和链接流程。
499

被折叠的 条评论
为什么被折叠?



