静态库链接的问题undefine reference

编译可执行程序链接动态库时使用的编译选项:

$(CC) $(CFLAGS)   $(LDFLAGS) $^  -o $(TARGET) 

是没有问题的。
但是同样的选项链接静态库时总提示有些接口undefine reference。

最后解决的方法:
改为:

$(CC) $(CFLAGS) $^ $(LDFLAGS) -o $(TARGET) 

即链接选项需要在.o文件的后面。
即要严格按照
各种.o文件+链接的库名-lxxx
的顺序。

猜你喜欢

转载自blog.csdn.net/k7arm/article/details/102503838