Menu

#97 SDCC compile error

None
closed
None
7
2016-01-18
2015-11-27
Diego
No

I am compiling a file with SDCC and I get the following error:

"error 206: Invalid combination of short /long "

The problem has to do with following typedefs:

typedef unsigned long long QWORD;
typedef signed long long LONGLONG;
...

Anyone has an idea why I am getting this and how I can solve this ?

Discussion

  • Philipp Klaus Krause

    Which version, target, options?

    Philipp

     
    • Diego

      Diego - 2015-11-28

      I installed v3.5.0 and I executed the command:

      sdcc --user-non-free -mpic16 -p18f97j60 test.c

      This gives raise to the error I mentioned. I also got another file from the professor and that one does compile. Any idea what is happening here ?


      Could you maybe also explain me how I could best remove v3.5.0 ? Our professor told us to use v2.9.0. The version isn't available online anymore but he gave it to us. He said that this version would cause no problems because he knew that one would work for sure. I had problems compiling it, which is why I installed v3.5.0. But I just found out that in the v2.9.0 there were errors in some Makefiles and after removing them it compiled now. But before I can install it, I need to remove v3.5.0 in a proper way. However, v3.5.0 was installed by 1 command that copied stuff in several folders. I don't know what was copied and to what folders. You could tell me the best way to remove v3.5.0 in order to install the older version ?

       
    • Diego

      Diego - 2015-11-28

      I also tried:

      sdcc --std-c99 --user-non-free -mpic16 -p18f97j60 test.c

      but this also doesn't solve the problem.

       
  • Maarten Brock

    Maarten Brock - 2015-11-28

    At first I thought you made a typo in this report, but since you repeat it I expect you to actually use it. There is no option --user-non-free. It is --use-non-free.

     
    • Diego

      Diego - 2015-11-28

      I am sorry. I typed it wrong here, but it is correct in my makefile. So I made the typo twice.

      I actually installed the old version and used the makefile provided by the professor and now it works. So I can continue my project. I noticed the file I tried to compile uses other files and libraries and I didn't take that into account when building it. The Makefile of the professor does take that into account and therefore it works. I couldn't use the Makefile with the older version because it refers e.g. to -L/usr/local/lib/pic16 and this folder was not present in the new version.

      Anyway, thanks for the help, guys. I really appreciate it. I can continue now.

       
  • Philipp Klaus Krause

    • status: open --> closed
    • assigned_to: Philipp Klaus Krause
    • Group: -->
     

Log in to post a comment.