gcc -o libtest.so -shared *.o //在连接过程中指定-shared,即生成共享形式的目标文件 gcc -o target -L./lib -ltest -Wl,-rpath=./lib//-Wl,-rpath=./lib指定运行时的库文件路径 生成静态库: gcc -o *.o -c *.c ar crs libtest.a *.o //libtest.a可以看做是将.o文件进行了打包 gcc ...
【1】相比于单个文件和多个文件的makefile,通过变量INC制定了头文件路径。头文件路径之间通过空格隔开。 【2】编译规则%.o:%.c中增加了头文件參数$(CC) $(CFLAGS)$(INC)-o $@ -c $<,那么在编译的过程中便会出现 gcc -Wall -std=gnu99-I./test-add -I./test-sub-o test.o -c test.c。和单个...
与VPATH 相同,在使用 vpath 时,也需要注意生成目标文件的路径,如果需要修改生成的目标文件的路径,需要在对应的目标规则中进行设置,例如使用 $@ 表示目标文件路径。 具体使用: 同样的在使用vpath时也需要使用-I来指定头文件路径。 CC :=gcc vpath %.h inc vpath %.c src hello:main.c main.h$(CC)-c-o$@...
前面的 src/xxx.o需自己指定 34. #格式为 -MM 输入.c或.cpp 查找依赖路径 -MT或-MQ 生成规则,比如src/xxx.o 35. MAKEDEPEND = gcc -MM -MT 36. CFLAGS += $(INCS) 37. CFLAGS += -O2 -Wall -fomit-frame-pointer -g -ansi 38. CPPFLAGS += $(INCS) 39. CPPFLAGS += -O2 -Wall -g...
第二行输出: a.c b.c sa.c sb.c notdir把展开的文件去除掉路径信息 第三行...
$ gcc math_demo.c -I/usr/include -L/usr/lib -lm 其中math_demo.c 是一个引用了 math.h 并调用了数学函数的一个程序。然后 -I 的意思就是指定头文件 math.h 的搜索路径,-L 是指定 libm.so 的搜索路径。但是,这两个路径是 C编译器 默认的搜索路径,所以不用特别指出;但是如果使用了不在这两个路...
gcc [.c/.cpp] -o [自定义可执行文件名] -l[库名] -L[库路径] -Wl,-rpath=[库路径] # -Wl, -rpath=[库路径] 可省略 2 Makefile 2.1 基本格式 targets : prerequisties command (tab键) target:目标文件,可以是 OjectFile,也可以是执行文件,还可以是一个标签(Label) ...
## 指定c/c++编译器路径,并指定CMAKE_BUILD_TYPE为RELEASEGXX_PATH="-DCMAKE_CXX_COMPILER:FILEPATH=/usr/local/bin/g++ -DCMAKE_C_COMPILER:FILEPATH=/usr/local/bin/gcc -DCMAKE_BUILD_TYPE:STRING=RELEASE"## 进一步可以参考生成的Makefile所在文件夹下的CMakeCache.txt文件进行更多选项的配置else## 找...
VPATH只能决定make的搜索路径,无法决定命令的搜索路径 对于特定的编译命令(gcc),需要独立指定编译搜索路径 OBJS:=func.o main.oCC:=gccINC:=incSRC:=srcVPATH:=$(INC)$(SRC)# 为编译选项指定路径CFLAGS:=-I$(INC)hello.out:$(OBJS)@$(CC)-o $@ $^@echo"Target File ==> $@"# 为gcc命令指定编译搜...