安德鲁

[原创].如何解决Nios II SBTE中出现的undefined reference to `xxx'警告

0
阅读(5704)

问题描述

有时候编译Nios II SBTE工程,就会出现莫名其妙的警告。例如下面的警告:

解决方法


方法1 重建工程法

此法较为愚笨,不推荐使用。

重新建立一个带BSP模板的Nios II SBTE Application Project;将源码拷贝至新的APP工程内;右键APP工程的Properties,将源码路径添加到APP路径中;重新编译,一般情况下即可OK。

说 点题外话,Nios II这个Application Path的添加每次只能选一个文件夹,非常令人发指。拜托学学MDK。以前的Nios II IDE是基于cygwin虚拟机的,慢得要死;现在从良了,换eclipce+gcc了,拜托Altera公司能把Nios II EDS做得人性化点,不要总学得不伦不类。

方法2  修改Makefile法

此法甚好,强烈建议掌握并能举一反三

打开APP工程内的Makefile,寻找C_SRCS关键字,没有的话自己手动加入。

	# Paths to C, C++, and assembly source files.
	C_SRCS += src/debug/debug.c
	CXX_SRCS :=
	ASM_SRCS :=

注意到问题描述中是undefined reference to `main' ,那我们就手动把main.c的路径加进去。

	# Paths to C, C++, and assembly source files.
	C_SRCS += src/debug/debug.c
	C_SRCS += src/main.c
	CXX_SRCS :=
	ASM_SRCS :=

Refresh一下APP工程,重新编译,警告将不复存在。