很多时候,编译的时候,现实函数未定义的引用,肯定是链接库出问题了。我遇到过几种情况:
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)
遇到问题,记录下来,以后研究。不管如何,问题解决了。