Unable to Redefine Routine in SDCC

  • Andy Massey
    Andy Massey

    I am using a Silabs F330 8051.  I have a program that compiles in Keil that will not compile in SDCC.  I am trying to redefine the stdio routine putchar while using the stdio library.  My program redefines putchar to use interrupt driven serial IO.  Keil uses my version of putchar and disgards the putchar in stdio.  SDCC gives me an error:

    D:\Four_Stages\/sio.h:7: error 91: extern definition for 'putchar' mismatches with declaration.
    C:/Program Files/SDCC/bin/../include/stdio.h:59: error 177: previously defined here

    Is it possible to get SDCC to disregard the stdio version of putchar?


    • Maarten Brock
      Maarten Brock

      Possible but not recommended. It will only lead to more problems.
      You'll have to adapt your version to comply with what SDCC expects.