使用proteus8.5仿真arduino328遇到了不能编译通过的问题
avr-gcc: warning: .cpp: linker input file unused because linking not done
avr-gcc: error: .o: No such file or directory
make: * [Debug.elf] Error 1
这几句话是说找不到.o文件,查看编译目录发现确实没有.o,只有.cpp文件
查看makefile文件
.o:.cpp
$(CC) $(CCFLAGS) -o “.o” -c “.cpp”
在这里应该是编译编译.o的过程出错,导致下一个过程找不到文件
尝试在控制台执行了一下上面的命令,发现报一样的错误
经过不断尝试,把命令改成如下两种形式可以通过编译
$(CC) $(CCFLAGS) -o “.o” -c “[name].cpp” # 给.cpp添加一个名字
$(CC) $(CCFLAGS) -o “.o” -c “./.cpp” # 指明是当前目录下的.app
这个问题在win7上是没有的,不知道是不是win10新控制台的问题。
解决方案
每次编译的时候,proteus总是重置makefile文件,所以通过修改makefile再编译是不可行的
可以先通过命令行把.o文件编译出来,这样再使用proteus编译就可以通过了
补充点东西
在工程设置中直接取消“嵌入式文件”选项也可以编译通过,不知道是啥原因。