I have some older 3D printer code from here for a Prusa i3 printer.
and a fresh download of 1.8.9
When I compile the Marlin code in the "printer firmware" folder, I get these errors
In file included from sketch\SdBaseFile.cpp:24:0:
SdBaseFile.h:38:8: error: using typedef-name 'fpos_t' after 'struct'
struct fpos_t {
^
In file included from sketch\Marlin.h:10:0,
from sketch\SdBaseFile.cpp:21:
c:\users\lenovo\3d objects\arduino 1.8.9\hardware\tools\avr\avr\include\stdio.h:950:33: note: 'fpos_t' has a previous declaration here
__extension__ typedef long long fpos_t;
^
sketch\SdBaseFile.cpp: In member function 'void SdBaseFile::getpos(fpos_t*)':
SdBaseFile.cpp:298:8: error: request for member 'position' in '* pos', which is of non-class type 'fpos_t {aka long long int}'
pos->position = curPosition_;
^
SdBaseFile.cpp:299:8: error: request for member 'cluster' in '* pos', which is of non-class type 'fpos_t {aka long long int}'
pos->cluster = curCluster_;
^
sketch\SdBaseFile.cpp: In member function 'void SdBaseFile::setpos(fpos_t*)':
SdBaseFile.cpp:1496:23: error: request for member 'position' in '* pos', which is of non-class type 'fpos_t {aka long long int}'
curPosition_ = pos->position;
^
SdBaseFile.cpp:1497:22: error: request for member 'cluster' in '* pos', which is of non-class type 'fpos_t {aka long long int}'
curCluster_ = pos->cluster;
^
sketch\Marlin_main.cpp:2658:36: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
LCD_MESSAGEPGM(MACHINE_NAME" "MSG_OFF".");
^
Multiple libraries were found for "LiquidCrystal.h"
Used: C:\Users\lenovo\Documents\Arduino\libraries\LiquidCrystal
Not used: C:\Users\lenovo\3D Objects\Arduino 1.8.9\libraries\LiquidCrystal
In file included from sketch\SdFile.h:27:0,
from sketch\cardreader.h:8,
from sketch\Marlin_main.cpp:44:
SdBaseFile.h:38:8: error: using typedef-name 'fpos_t' after 'struct'
struct fpos_t {
^
In file included from sketch\Marlin.h:10:0,
from sketch\Marlin_main.cpp:30:
c:\users\lenovo\3d objects\arduino 1.8.9\hardware\tools\avr\avr\include\stdio.h:950:33: note: 'fpos_t' has a previous declaration here
__extension__ typedef long long fpos_t;
^
sketch\Marlin_main.cpp: In function 'void set_bed_level_equation_lsq(double*)':
sketch\Marlin_main.cpp:989:36: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
planeNormal.debug("planeNormal");
^
exit status 1
In file included from sketch\SdFile.h:27:0,
from sketch\cardreader.h:8,
from sketch\stepper.cpp:30:
SdBaseFile.h:38:8: error: using typedef-name 'fpos_t' after 'struct'
struct fpos_t {
^
In file included from sketch\Marlin.h:10:0,
from sketch\stepper.cpp:24:
c:\users\lenovo\3d objects\arduino 1.8.9\hardware\tools\avr\avr\include\stdio.h:950:33: note: 'fpos_t' has a previous declaration here
__extension__ typedef long long fpos_t;
^
In file included from sketch\SdFile.h:27:0,
from sketch\cardreader.h:8,
from sketch\ultralcd.cpp:6:
SdBaseFile.h:38:8: error: using typedef-name 'fpos_t' after 'struct'
struct fpos_t {
^
In file included from sketch\Marlin.h:10:0,
from sketch\temperature.h:24,
from sketch\ultralcd.cpp:1:
c:\users\lenovo\3d objects\arduino 1.8.9\hardware\tools\avr\avr\include\stdio.h:950:33: note: 'fpos_t' has a previous declaration here
__extension__ typedef long long fpos_t;
^
sketch\ultralcd.cpp: In function 'void _lcd_babystep(int, const char*)':
sketch\ultralcd.cpp:406:59: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
if (lcdDrawUpdate) lcd_implementation_drawedit(msg, "");
^
In file included from sketch\SdFile.h:27:0,
from sketch\SdFile.cpp:23:
SdBaseFile.h:38:8: error: using typedef-name 'fpos_t' after 'struct'
struct fpos_t {
^
In file included from sketch\Marlin.h:10:0,
from sketch\SdFile.cpp:20:
c:\users\lenovo\3d objects\arduino 1.8.9\hardware\tools\avr\avr\include\stdio.h:950:33: note: 'fpos_t' has a previous declaration here
__extension__ typedef long long fpos_t;
^
sketch\temperature.cpp:565:46: warning: extra tokens at end of #ifdef directive
#ifdef THERMAL_RUNAWAY_PROTECTION_PERIOD && THERMAL_RUNAWAY_PROTECTION_PERIOD > 0
^
In file included from sketch\SdFile.h:27:0,
from sketch\cardreader.h:8,
from sketch\cardreader.cpp:2:
SdBaseFile.h:38:8: error: using typedef-name 'fpos_t' after 'struct'
struct fpos_t {
^
In file included from sketch\Marlin.h:10:0,
from sketch\cardreader.cpp:1:
c:\users\lenovo\3d objects\arduino 1.8.9\hardware\tools\avr\avr\include\stdio.h:950:33: note: 'fpos_t' has a previous declaration here
__extension__ typedef long long fpos_t;
^
using typedef-name 'fpos_t' after 'struct'
What's needed to fix all that?