1.问题展示
在使用SDK新建工程,创建main.c文件,出现undefined reference to 'main'的报错。或增加已经编写好的文件或文件夹到新建工程的路径下时,出现undefined reference to 'main'的报错。
2.解决方案
2.1SDK新建工程,创建main.c文件时
场景:FPGA的PS学习中使用vivado自带的SDK软件初次学习时,只需main.c文件时可使用此方法。(如点灯实验)
方法:保存工程,主要是main.c文件的保存,Ctrl+S(出现此问题,可优先使用)
本质上是文件的保存位置出现问题,此种方法可以成功的原因可能是创建完main.c文件后也没有保存过,导致文件未找到。
2.2添加文件到新建工程的路径下时
场景:在新建工程之后,需要添加已经编写好的库文件(.c或.h)时,出现此类错误。
方法:
1.选中将要使用的工程,右键选择Properties,点击打开
2.选择Paths and Symbols,点击Add。
3.选择Add to all languages的Workspace键。
4.选择你添加进来的文件所在的文件夹路径(最好选择离添加文件最近的文件夹,因为我只这样试过,其他情况不确定)即可。之后一直OK和Apply就行了。
友情提醒:好像一次只能添加一个文件夹路径。如果有多个路径就多添加几次。