make时设置链接器选项的2种方法
目录
问题雏形
方法1 在makefile中写死链接器选项
方法2 在调用make时指定链接器选项
问题雏形
下面的指令指定了main链接的libc库的路径:
gcc main.cpp -o main -Wl,--dynamic-linker=/usr/local/glibc-debug/lib/ld-linux-x86-64.so.2 -Wl,-rpath=/usr/local/glibc-debug/lib
那么,假如我使用make编译,能否指定libc库的路径呢?这里给出两个办法:
方法1 在makefile中写死链接器选项
CC := gcc
LDFLAGS := -Wl,--dynamic-linker=/usr/local/glibc-debug/lib/ld-linux-x86-64.so.2 -Wl,-rpath=/usr/local/glibc-debug/libmain : main.o${CC} -o main main.o ${LDFLAGS}
main.o : main.c${CC} -o main.o -c main.c
然后在命令行执行make即可
方法2 在调用make时指定链接器选项
将Makefile改为:
CC := gccmain : main.o${CC} -o main main.o ${LDFLAGS}
main.o : main.c${CC} -o main.o -c main.c
在命令行执行如下命令:
make LDFLAGS="-Wl,--dynamic-linker=/usr/local/glibc-debug/lib/ld-linux-x86-64.so.2 -Wl,-rpath=/usr/local/glibc-debug/lib"