纠结了一天的给Linux的一个小工程写了个makefile,由于用到了开源库,而且还是相对比较老的库,所以与新版本的API进行编程就特别得注意API的变化。make时遇到问题如题。
经过仔细检查发现是下面这里出的warning:
$(OBJS) : $(SRC)
$(CC) -c $(SRC) $(CFLAGS) $(LDFLAGS)
因为这里只是编译成obj文件,所以不需要指定动态库。只有在生成可执行文件时才需要指定动态连接库。把$(LDFLAGS)指定的动态库路径去掉即可。
PS:最近写代码,终于遇到了64bit系统和32bit系统之间同样的代码,编译后64bit可执行,32bit直接报了segment fault了,正在努力排查中……
“linker input file unused because linking not done”-solution