很多时候,编译的时候,现实函数未定义的引用,肯定是链接库出问题了。我遇到过几种情况:
1.路径添加失败。在makefile中,我添加了库的路径,不管是绝对路径还是相对路径,结果都失败了。这到底是什么原因导致-L失效了呢?之后,我在bashrc文件中,添加库路径,之后,编译通过。
2.这个是今天遇到的问题。我编写了一个makefile。
all : $(TARGET)
.PHONY: all
$(TARGET) : $(SRC)
g++ $(LIB) $(INCLUDE) -o $@ $^ -pthread -lm
.PHONY : clean
clean :
@rm -r $(TARGET)
编译的时候,显示函数未定义的引用。我仔细检查了一下,没有错误。经过反复验证,是命令行的问题。
正确格式:g++ $(INCLUDE) -o $@ $^ -pthread -lm $(LIB)
遇到问题,记录下来,以后研究。不管如何,问题解决了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。