我们针对项目测试的时候碰到如下问题:Error: L6200E: Symbol __stdout multiply defined (by stdio_streams.o and harness_usart.o).
这个时候我们需要去修改我们的cpptest_retgt.c文件。加入如下代码:
struct __FILE
{
int handle;
};
FILE __stdin, __stderr;
FILE *__aeabi_stdin, *__aeabi_stdout, *__aeabi_stderr;
针对此类错误,我们还可以使用另外一种调试方式,就是注释掉代码中使用半主机模式的代码块。然后我们去使用微库执行,此类错误是由于半主机模式导致,而在使用微库的时候不会使用半主机模式,也可以解决此类问题。
两种方案比较第一种不需要修改源代码,具体情况看详细环境做调试。