|
|
View previous topic :: View next topic |
Author |
Message |
Jean FOUGERON
Joined: 30 Nov 2012 Posts: 110 Location: France
|
CCS compilation error 12 |
Posted: Wed Apr 17, 2013 9:16 am |
|
|
Hi friends
I really tearing hair with this compiler :
I have :
Code: | Clean: Deleting intermediary and output files.
Clean: Deleted file "C:\Users\Flashelek\Documents\Technique\Developpement\SFLS\JX2360\V0\sfls2360.mcs".
Clean: Done.
Executing: "C:\Program Files (x86)\PICC\Ccsc.exe" +FH "sfls.c" +DF +LN +T +A +M +Z +Y=9 +EA
*** Error 12 "C:\Program Files (x86)\PICC\drivers\pic18_usb.c" Line 558(13,14): Undefined identifier -- Frequence
*** Error 12 "C:\Program Files (x86)\PICC\drivers\usb.c" Line 244(56,57): Undefined identifier -- Frequence
2 Errors, 0 Warnings.
Build Failed.
Halting build on first failure as requested.
BUILD FAILED: Wed Apr 17 17:00:53 2013 |
And when I edit these 2 files C:\Program Files (x86)\PICC\drivers\pic18_usb.c and C:\Program Files (x86)\PICC\drivers\usb.c there is not this identifier -- Frequence
More, their modification date is 2012.
This identifier Frequence has been created by me in my .c file
What can happen ? |
|
|
Ttelmah
Joined: 11 Mar 2010 Posts: 19541
|
|
Posted: Wed Apr 17, 2013 11:26 am |
|
|
What is your compiler version number 4.xxx?.
Re-install the original files with the compiler.
I have just looked through just about every release of CCS, for the last year, and _none_ have the word 'frequence' used in these files. They might have existed in an older beta version (didn't bother to look back any further). CCS are unlikely to use the word 'frequence', being American, they would use probably use 'frequency' (frequence, is French, or Old English). I'd suspect your files have been modified.
Switch to the originals supplied by CCS. |
|
|
Jean FOUGERON
Joined: 30 Nov 2012 Posts: 110 Location: France
|
|
Posted: Thu Apr 18, 2013 3:39 am |
|
|
Thanks for your answer
I realize that my explanations are not clear enough
What is happening :
I, some weeks ago, developped an USB application, and wanted to trace the USB activit, so I wrote a routine Frequence (which blinks a LED) and called it in usb_kbhit and usb_wait_for_enumeration, but then I suppressed the routine from them.
When, today, I edit usb.C and pic18_usb.c the call to my routine Frequence is absent !
Code: | int1 usb_kbhit(unsigned int8 en)
{
return((UEP(en)!=ENDPT_DISABLED)&&(!bit_test(EP_BDxST_O(en),7)));
} |
But when I edit my .lst file I see it still present
Code: | int1 usb_kbhit(unsigned int8 en)
.................... {
.................... return((UEP(en)!=ENDPT_DISABLED)&&(!bit_test(EP_BDxST_O(en),7)));
.................... Frequence();
.................... } |
So, I wonder whether CCS include another file than "C:\Program Files (x86)\PICC\drivers\pic18_usb.c" but which one ?
And I want to include the correct one.
I hope this is better explained
Thanks for your advices |
|
|
temtronic
Joined: 01 Jul 2010 Posts: 9244 Location: Greensville,Ontario
|
|
Posted: Thu Apr 18, 2013 5:32 am |
|
|
just an idea....
perhaps the compiler sees the 'return(...)' and stops there,not inserting the Frequence() function ?
To me the 'return(...) would signal the end of the function,so the compiler would ignore any additional code after it?
also...
I found that it's always best to copy a CCS function,rename the copy to say 'my_ccs_function', edit my copy,and call it NOT edit the original.
It will confirm the compiler is accessing _your_ code and not the CCS orginal code.
hth
jay |
|
|
Jean FOUGERON
Joined: 30 Nov 2012 Posts: 110 Location: France
|
|
Posted: Thu Apr 18, 2013 7:26 am |
|
|
temtronic wrote: | just an idea....
perhaps the compiler sees the 'return(...)' and stops there,not inserting the Frequence() function ?
To me the 'return(...) would signal the end of the function,so the compiler would ignore any additional code after it?
|
I agree, you are right, this did not allow to see the Frequency routine
But ...
There is not the question here
The question is "WHY CCS COMPILE WITH A FILE WHICH, APPARENTLY, DO NOT EXIST ?" |
|
|
Ttelmah
Joined: 11 Mar 2010 Posts: 19541
|
|
Posted: Thu Apr 18, 2013 7:44 am |
|
|
It isn't.....
It is pulling a different version. Fairly 'classic'. You need first to do a search in the path defined in your system, for other versions of the file(s), and then (if you are using a project), close all the files except the main source file, then do an 'open all files'. The project has a really annoying habit, of 'remembering' where older files are, while CCS itself, will also remember the include locations used for older file versions.
So the project is showing one version of the unmodified file, but is still compiling with the modified version.
Sort of thing it does. If you open one of it's own definition files, then edit a file of your own, then say 'save' (rather than letting it do this itself), it'll sometimes save a copy of your own file in the directory used for the processor definition files. No pattern to when it does it or doesn't....
Best Wishes |
|
|
Jean FOUGERON
Joined: 30 Nov 2012 Posts: 110 Location: France
|
|
Posted: Thu Apr 18, 2013 8:20 am |
|
|
It is what I suspect also.
Do you know where I find these directories defined in MPLAB IDE ? |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|