Ubuntu20.04下使用pbPlots绘图出现undefined reference错误怎么解决
解决方案
你遇到的undefined reference报错为链接阶段错误,原因是编译时未将pbPlots、supportLib的实现文件加入编译流程,导致编译器无法定位函数的具体实现。
方法1:直接单步编译生成可执行文件
在终端执行以下编译命令,将所有相关源文件一同编译,同时链接数学依赖库:
gcc 你的主程序文件名.c pbPlots.c supportLib.c -o plot -lm
将命令中的你的主程序文件名.c替换为你自己写的C代码文件名,编译完成后执行./plot即可生成目标图片plot.png。
方法2:分开编译链接(适合频繁修改代码的场景)
可以编写简易Makefile简化编译操作,在当前目录下新建名为Makefile的文件,写入以下内容:
CC = gcc CFLAGS = -Wall -O2 LIBS = -lm # 这里的main替换为你的主程序文件名(不含.c后缀) plot: main.o pbPlots.o supportLib.o $(CC) $(CFLAGS) -o $@ $^ $(LIBS) %.o: %.c $(CC) $(CFLAGS) -c -o $@ $< clean: rm -f *.o plot
之后直接在终端执行make即可完成编译,执行make clean可删除所有编译生成的中间文件和可执行文件。
内容的提问来源于stack exchange,提问作者S H
相关产品推荐
相关产品推荐

