编译可执行程序链接动态库时使用的编译选项:
$(CC) $(CFLAGS) $(LDFLAGS) $^ -o $(TARGET)
是没有问题的。
但是同样的选项链接静态库时总提示有些接口undefine reference。
最后解决的方法:
改为:
$(CC) $(CFLAGS) $^ $(LDFLAGS) -o $(TARGET)
即链接选项需要在.o文件的后面。
即要严格按照
各种.o文件+链接的库名-lxxx
的顺序。
编译可执行程序链接动态库时使用的编译选项:
$(CC) $(CFLAGS) $(LDFLAGS) $^ -o $(TARGET)
是没有问题的。
但是同样的选项链接静态库时总提示有些接口undefine reference。
最后解决的方法:
改为:
$(CC) $(CFLAGS) $^ $(LDFLAGS) -o $(TARGET)
即链接选项需要在.o文件的后面。
即要严格按照
各种.o文件+链接的库名-lxxx
的顺序。