Shop OBEX P1 Docs P2 Docs Learn Events
Help with compile errors — Parallax Forums

Help with compile errors

Dr_AculaDr_Acula Posts: 5,484
edited 2013-03-23 10:22 in Propeller 1
Thanks to David Betz helping out over the last few days on a thread started by __red__, we have a super simple external memory solution with just one 23K256 8pin chip. Connect to any 4 propeller pins.

Flushed with the inner glow of success, the next project is to trya big program like Kyedos. So, run Kyedos through Spin2cpp and it passes with no errors.

Compiling it with SimpleIDE is producing 7 errors, and compiling with GNU GCC on codeblocks is producing 8 errors. Not bad for a first run!

The error list seems similar so hopefully these are easily fixed.

The error list for simpleIDE is below
Project Directory: C:/Propeller/Centimanes/Kyedos C experiments/Kyedos/
propeller-elf-c++ -o a.out -Os -mxmmc -I . -m32bit-doubles -fno-exceptions -fno-rtti Kyedos3_TV.cpp
Kyedos3_TV.cpp: In member function 'int32_t Kyedos3_TV::Shell()':
Kyedos3_TV.cpp:67:5: error: assignment of read-only variable 'Kyedos3_TV::_clkmode'
Kyedos3_TV.cpp: In member function 'int32_t Kyedos3_TV::Programreboot(int32_t)':
Kyedos3_TV.cpp:221:5: error: assignment of read-only variable 'Kyedos3_TV::_clkmode'
Kyedos3_TV.cpp: In member function 'int32_t Kyedos3_TV::Programtime(int32_t)':
Kyedos3_TV.cpp:651:138: error: invalid conversion from 'int32_t* {aka int*}' to 'int32_t {aka int}' [-fpermissive]
DS1307_RTCEngine.h:44:11: error:   initializing argument 7 of 'int32_t DS1307_RTCEngine::Writetime(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t)' [-fpermissive]

Done. Build Failed!

Click error or warning messages above to debug.

and attached is a zip of all the files.

If anyone has a chance to take a look at this it would be most appreciated :)
«1

Comments

  • kuronekokuroneko Posts: 3,623
    edited 2013-03-20 16:56
    651: The last argument reads Time when it should read Time[0]. They are the same in SPIN but not in C.

    As for the clock mode issue, IIRC the system clock speed is setup somewhere else (based on board configuration). However, the class has _clkmode defined as a static constant which interferes with the clkset macro (and its idea of _clkmode). I'd suggest removing the offending line in Keydos3_TV.h (line 20) as it's not used anyway.
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2013-03-20 18:34
    Thanks kuroneko.

    The c line of code
        clkset(0x80, 0);
    

    is what Spin2Cpp is producing with the Spin instruction "reboot". So maybe that might be a Spin2c issue?

    I commented those two lines out. I also commented out the errors in line 651 - I don't need the time stamp on SD files as I don't have a real time clock at the moment.

    So that means no errors any more in the main routine.

    But it then went and generated over 50 new errors - lots of "undefined reference to..."

    and the compilers (SimpleIDE and GCC) are being difficult and not jumping to the error any more when you click on the error line, so it is unclear where the error is. Are they linker errors? I'm still on the steep part of the learning curve!

    This is the start of the error log
    Project Directory: C:/Propeller/Centimanes/Kyedos C experiments/Kyedos/
    
    propeller-elf-c++ -o a.out -Os -mxmmc -I . -m32bit-doubles -fno-exceptions -fno-rtti Kyedos3_TV.cpp
    (.init+0x3c): undefined reference to `_main'
    
    (.text+0x2c): undefined reference to `ASCII0_STREngine::Stringcompareci(int, int)'
    
    (.text+0x44): undefined reference to `ASCII0_STREngine::Tokenizestring(int)'
    
    (.text+0x58): undefined reference to `SD3_01_FATEngine::Changedirectory(int)'
    
    (.text+0x74): undefined reference to `SD3_01_FATEngine::Changedirectory(int)'
    
    (.text+0xec): undefined reference to `ASCII0_STREngine::Stringcompareci(int, int)'
    

    I've attached the modified files. Many thanks in advance.
  • kuronekokuroneko Posts: 3,623
    edited 2013-03-20 18:53
    Kyedos3_TV.cpp is using functions/methods from other source files. Not being a SimpleIDE user I can't help you with that other than telling you that all source files have to be present in that command line. I assume it's as simple as adding all files to the project (*.side only lists one).
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2013-03-20 20:51
    Thanks kuroneko, you are right, I need to add all the files. So - right click on the project manager panel, and "Add File Copy" and added every .h and .cpp file in the directory. Now it is doing a lot more!

    Ok, looks like it is back to syntax errors again. List of errors:
    Project Directory: C:/Propeller/Centimanes/Kyedos C experiments/Kyedos/
    
    propeller-elf-c++ -o a.out -Os -mxmmc -I . -m32bit-doubles -fno-exceptions -fno-rtti tv_text.h ASCII0_STREngine.h cog.h DS1307_RTCEngine.h Kyedos3_TV.h pcFullDuplexSerial2FC.h Pocketerm_Keyboard.h propeller.h SD3.01_FATEngine.h Timing.h tv.h tv_text.h ASCII0_STREngine.h cog.h DS1307_RTCEngine.h Kyedos3_TV.h pcFullDuplexSerial2FC.h Pocketerm_Keyboard.h propeller.h SD3.01_FATEngine.h Timing.h tv.h tv_text.cpp ASCII0_STREngine.cpp DS1307_RTCEngine.cpp Kyedos3_TV.cpp pcFullDuplexSerial2FC.cpp Pocketerm_Keyboard.cpp SD3.01_FATEngine.cpp Timing.cpp tv.cpp Kyedos3_TV.cpp
    
    ASCII0_STREngine.cpp: In member function 'int32_t ASCII0_STREngine::Tokenizestring(int32_t)':
    ASCII0_STREngine.cpp:146:22: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
    ASCII0_STREngine.cpp:147:59: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
    ASCII0_STREngine.cpp: In member function 'int32_t ASCII0_STREngine::Integertodecimal(int32_t, int32_t)':
    ASCII0_STREngine.cpp:267:27: error: invalid conversion from 'uint8_t* {aka unsigned char*}' to 'uint8_t {aka unsigned char}' [-fpermissive]
    DS1307_RTCEngine.cpp: In member function 'int32_t DS1307_RTCEngine::Clocksecond()':
    DS1307_RTCEngine.cpp:28:10: error: invalid conversion from 'uint8_t* {aka unsigned char*}' to 'int32_t {aka int}' [-fpermissive]
    SD3.01_FATEngine.cpp:32:12: error: invalid suffix "_FATEngine" on floating constant
    SD3.01_FATEngine.cpp:32:12: error: expected initializer before numeric constant
    tv.cpp:19:9: error: 'tv' has not been declared
    
    Done. Build Failed!
    
    Click error or warning messages above to debug.
    

    First error line 146:22 is
    while (((uint8_t *)Tokenstringpointer)[0]) {
    
    147:59 is
    int32_t _tmp__0062 = ((uint8_t *)(Tokenstringpointer++))[0];
    
    267:27 is
    Decimalstring[Length] = Decimalstring;
    
    28:10 is
    return Time;
    
    32:12 is
    uint8_t SD3.01_FATEngine::dat[] = {
    
    19:9 is
    uint8_t tv::dat[] = {
    

    If these errors are quirks of spin2c, then maybe can recode the spin so they don't occur? These are mainly Kye's code, and he may be using super advanced spin methods :)

    I guess I need to understand what the errors mean first. Thanks again for the help!
  • SRLMSRLM Posts: 5,045
    edited 2013-03-20 21:00
    Just some thoughts...

    Token string pointer is probably a 16 bit (word) variable. You could probably get rid of the warning by casting to an int first, before casting to the pointer.

    For the 267:27 error it's complaining because you are trying to put 4 bytes into 1 (a pointer into char). I don't know why the original code was like that, so I'd start by figuring out that logic. You could get rid of the error by casting to a uint8_t. It might be that in Spin, if you put a long into a byte array it "automatically" puts the last three bytes in the array.

    There was a bug in an older version of Spin2cpp where it would not put the [0] on arrays if the Spin version didn't have it. That may be an issue here. Although, looking at the code, I don't think you can have a "." character in a class name.

    Spin2cpp also sometimes names the classes with a "spin" suffix, but not in all files. For example, a spin file "numbers" might be declared as "numbersSpin" but used as "numbers".

    It might also help if you post your converted files.
  • kuronekokuroneko Posts: 3,623
    edited 2013-03-20 21:12
    ASCII0_STREngine.cpp: In member function 'int32_t ASCII0_STREngine::Tokenizestring(int32_t)':
    ASCII0_STREngine.cpp:146:22: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
    ASCII0_STREngine.cpp:147:59: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
    Just warnings really. Tokenstringpointer is defined as a word (short) and pointers are usually bigger.
    ASCII0_STREngine.cpp: In member function 'int32_t ASCII0_STREngine::Integertodecimal(int32_t, int32_t)':
    ASCII0_STREngine.cpp:267:27: error: invalid conversion from 'uint8_t* {aka unsigned char*}' to 'uint8_t {aka unsigned char}' [-fpermissive]
    fred vs fred[0] (OK in SPIN, NG in C/C++)
    DS1307_RTCEngine.cpp: In member function 'int32_t DS1307_RTCEngine::Clocksecond()':
    DS1307_RTCEngine.cpp:28:10: error: invalid conversion from 'uint8_t* {aka unsigned char*}' to 'int32_t {aka int}' [-fpermissive]
    fred vs fred[0] (OK in SPIN, NG in C/C++)
    SD3.01_FATEngine.cpp:32:12: error: invalid suffix "_FATEngine" on floating constant
    SD3.01_FATEngine.cpp:32:12: error: expected initializer before numeric constant
    For some reasons the DAT array doesn't have its name cleaned up. It should read uint8_t SD3_01_FATEngine::dat[] = {.
    tv.cpp:19:9: error: 'tv' has not been declared
    Similar to the one above, it should read tvSpin::dat[].
    If these errors are quirks of spin2c, then maybe can recode the spin so they don't occur? These are mainly Kye's code, and he may be using super advanced spin methods :)
    The last two sound like bugs although I don't understand the one about tv vs tvSpin (e.g. the serial driver conversion is OK). fred vs fred[0] can be solved in SPIN land but you might as well fix the generated C/C++ code instead, I mean you do get an error. HTH
  • ersmithersmith Posts: 6,054
    edited 2013-03-21 05:13
    The tv vs. tvSpin and SD3.01_FATEngine::Dat problems are definitely bugs in spin2cpp, and I've fixed them in version 1.03, which I've just uploaded to http://code.google.com/p/spin2cpp/. I think kuroneko's answer covered the other issues pretty well (thanks, kuroneko!).

    Eric
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2013-03-21 05:35
    Thanks++ for all the support. I'm making a lot of progress going back through the spin and recoding things.

    As pointed out by SRLM and Kuroneko, many of the errors are due to arrays being declared eg myarray[5] and then used as myarray[1], myarray[2],myarray[3] but spin seems to let you use myarray as a variable as being the same as myarray[0]. So I have changed those to have the 0 so they explicitly declare it as the first variable.

    Also the filename was causing this error
    uint8_t SD3.01_FATEngine::dat[] = {
    
    as the filename has a period in it, and spin is ok about that but c is not. So changed that to SD301_Fatengine and a number of errors have gone.

    Fixed the tv error - it was declared as "tv" instead of "tv.spin"

    Ok - it now gets through the compilation with no errors. But a bunch of new problems have appeared. Ignoring the first two warnings, what do all the comments mean regarding "multiple definition"
    Project Directory: C:/Propeller/Centimanes/Kyedos C experiments/Kyedos/
    
    propeller-elf-c++ -o a.out -Os -mxmmc -I . -m32bit-doubles -fno-exceptions -fno-rtti tv_text.h ASCII0_STREngine.h DS1307_RTCEngine.h Kyedos3_TV.h pcFullDuplexSerial2FC.h Pocketerm_Keyboard.h Timing.h tv_text.h ASCII0_STREngine.h DS1307_RTCEngine.h Kyedos3_TV.h pcFullDuplexSerial2FC.h Pocketerm_Keyboard.h Timing.h tv_text.cpp ASCII0_STREngine.cpp DS1307_RTCEngine.cpp Kyedos3_TV.cpp pcFullDuplexSerial2FC.cpp Pocketerm_Keyboard.cpp Timing.cpp SD301_FATEngine.h SD301_FATEngine.cpp tv_Driver.h tv_Driver.cpp Kyedos3_TV.cpp
    ASCII0_STREngine.cpp: In member function 'int32_t ASCII0_STREngine::Tokenizestring(int32_t)':
    
    ASCII0_STREngine.cpp:146:22: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
    
    ASCII0_STREngine.cpp:147:59: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc7gPmyx.o: In function `Kyedos3_TV::Programchangedirectory(int)':
    
    (.text+0x0): multiple definition of `Kyedos3_TV::Programchangedirectory(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccn8asZs.o:(.text+0x0): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc7gPmyx.o: In function `Kyedos3_TV::Programchangeattributes(int)':
    
    (.text+0xc0): multiple definition of `Kyedos3_TV::Programchangeattributes(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccn8asZs.o:(.text+0xc0): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc7gPmyx.o: In function `Kyedos3_TV::Programmove(int)':
    
    (.text+0x178): multiple definition of `Kyedos3_TV::Programmove(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccn8asZs.o:(.text+0x178): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc7gPmyx.o: In function `Kyedos3_TV::Programremove(int)':
    
    (.text+0x230): multiple definition of `Kyedos3_TV::Programremove(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccn8asZs.o:(.text+0x230): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc7gPmyx.o: In function `Kyedos3_TV::Programera(int)':
    
    (.text+0x2d0): multiple definition of `Kyedos3_TV::Programera(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccn8asZs.o:(.text+0x2d0): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc7gPmyx.o: In function `Kyedos3_TV::Programmakefile(int)':
    
    (.text+0x370): multiple definition of `Kyedos3_TV::Programmakefile(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccn8asZs.o:(.text+0x370): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc7gPmyx.o: In function `Kyedos3_TV::Programmakedirectory(int)':
    
    (.text+0x410): multiple definition of `Kyedos3_TV::Programmakedirectory(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccn8asZs.o:(.text+0x410): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc7gPmyx.o: In function `Kyedos3_TV::Programcopy(int)':
    
    (.text+0x4b0): multiple definition of `Kyedos3_TV::Programcopy(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccn8asZs.o:(.text+0x4b0): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc7gPmyx.o: In function `Kyedos3_TV::Programboot(int)':
    
    (.text+0x608): multiple definition of `Kyedos3_TV::Programboot(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccn8asZs.o:(.text+0x608): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc7gPmyx.o: In function `Kyedos3_TV::Multiplydivide(int, int)':
    
    (.text+0x6a8): multiple definition of `Kyedos3_TV::Multiplydivide(int, int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccn8asZs.o:(.text+0x6a8): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc7gPmyx.o: In function `Kyedos3_TV::Printstring(int)':
    
    (.text+0x764): multiple definition of `Kyedos3_TV::Printstring(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccn8asZs.o:(.text+0x764): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc7gPmyx.o: In function `Kyedos3_TV::Starttest(int, int, int)':
    
    (.text+0x7bc): multiple definition of `Kyedos3_TV::Starttest(int, int, int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccn8asZs.o:(.text+0x7bc): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc7gPmyx.o: In function `Kyedos3_TV::Programhelp(int)':
    
    (.text+0x7f4): multiple definition of `Kyedos3_TV::Programhelp(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccn8asZs.o:(.text+0x7f4): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc7gPmyx.o: In function `Kyedos3_TV::dat':
    
    (.data+0x940): multiple definition of `Kyedos3_TV::dat'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccn8asZs.o:(.data+0x940): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc7gPmyx.o: In function `Kyedos3_TV::Programreboot(int)':
    
    (.text+0x8a0): multiple definition of `Kyedos3_TV::Programreboot(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccn8asZs.o:(.text+0x8a0): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc7gPmyx.o: In function `Kyedos3_TV::Programclear(int)':
    
    (.text+0x944): multiple definition of `Kyedos3_TV::Programclear(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccn8asZs.o:(.text+0x944): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc7gPmyx.o: In function `Kyedos3_TV::Shelldecision(int, int, int)':
    
    (.text+0x9f4): multiple definition of `Kyedos3_TV::Shelldecision(int, int, int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccn8asZs.o:(.text+0x9f4): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc7gPmyx.o: In function `Kyedos3_TV::Printchar(int)':
    
    (.text+0xa84): multiple definition of `Kyedos3_TV::Printchar(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccn8asZs.o:(.text+0xa84): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc7gPmyx.o: In function `Kyedos3_TV::Shellline(int)':
    
    (.text+0xae4): multiple definition of `Kyedos3_TV::Shellline(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccn8asZs.o:(.text+0xae4): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc7gPmyx.o: In function `Kyedos3_TV::Crlf()':
    
    (.text+0xbf0): multiple definition of `Kyedos3_TV::Crlf()'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccn8asZs.o:(.text+0xbf0): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc7gPmyx.o: In function `Kyedos3_TV::Printstringcr(int)':
    
    (.text+0xc28): multiple definition of `Kyedos3_TV::Printstringcr(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccn8asZs.o:(.text+0xc28): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc7gPmyx.o: In function `Kyedos3_TV::Stoptest(int, int, int)':
    
    (.text+0xc58): multiple definition of `Kyedos3_TV::Stoptest(int, int, int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccn8asZs.o:(.text+0xc58): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc7gPmyx.o: In function `Kyedos3_TV::Programtest(int)':
    
    (.text+0xd50): multiple definition of `Kyedos3_TV::Programtest(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccn8asZs.o:(.text+0xd50): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc7gPmyx.o: In function `Kyedos3_TV::Programdump(int)':
    
    (.text+0x142c): multiple definition of `Kyedos3_TV::Programdump(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccn8asZs.o:(.text+0x142c): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc7gPmyx.o: In function `Kyedos3_TV::Programdate(int)':
    
    (.text+0x164c): multiple definition of `Kyedos3_TV::Programdate(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccn8asZs.o:(.text+0x164c): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc7gPmyx.o: In function `Kyedos3_TV::Programformat(int)':
    
    (.text+0x1994): multiple definition of `Kyedos3_TV::Programformat(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccn8asZs.o:(.text+0x1994): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc7gPmyx.o: In function `Kyedos3_TV::Programdifference(int)':
    
    (.text+0x1ae0): multiple definition of `Kyedos3_TV::Programdifference(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccn8asZs.o:(.text+0x1ae0): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc7gPmyx.o: In function `Kyedos3_TV::Programusedspace(int)':
    
    (.text+0x1cdc): multiple definition of `Kyedos3_TV::Programusedspace(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccn8asZs.o:(.text+0x1cdc): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc7gPmyx.o: In function `Kyedos3_TV::Programfreespace(int)':
    
    (.text+0x1f88): multiple definition of `Kyedos3_TV::Programfreespace(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccn8asZs.o:(.text+0x1f88): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc7gPmyx.o: In function `Kyedos3_TV::Programunmount(int)':
    
    (.text+0x2234): multiple definition of `Kyedos3_TV::Programunmount(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccn8asZs.o:(.text+0x2234): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc7gPmyx.o: In function `Kyedos3_TV::Programmount(int)':
    
    (.text+0x22e4): multiple definition of `Kyedos3_TV::Programmount(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccn8asZs.o:(.text+0x22e4): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc7gPmyx.o: In function `Kyedos3_TV::Programtime(int)':
    
    (.text+0x24d4): multiple definition of `Kyedos3_TV::Programtime(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccn8asZs.o:(.text+0x24d4): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc7gPmyx.o: In function `Kyedos3_TV::Programconcatenate(int)':
    
    (.text+0x2748): multiple definition of `Kyedos3_TV::Programconcatenate(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccn8asZs.o:(.text+0x2748): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc7gPmyx.o: In function `Kyedos3_TV::Programlist(int)':
    
    (.text+0x2914): multiple definition of `Kyedos3_TV::Programlist(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccn8asZs.o:(.text+0x2914): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc7gPmyx.o: In function `Kyedos3_TV::Programecho(int)':
    
    (.text+0x2fbc): multiple definition of `Kyedos3_TV::Programecho(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccn8asZs.o:(.text+0x2fbc): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc7gPmyx.o: In function `Kyedos3_TV::Printdecimal(int)':
    
    (.text+0x3070): multiple definition of `Kyedos3_TV::Printdecimal(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccn8asZs.o:(.text+0x3070): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc7gPmyx.o: In function `Kyedos3_TV::Printstringsignon(int)':
    
    (.text+0x30b8): multiple definition of `Kyedos3_TV::Printstringsignon(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccn8asZs.o:(.text+0x30b8): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc7gPmyx.o: In function `Kyedos3_TV::Signon()':
    
    (.text+0x30fc): multiple definition of `Kyedos3_TV::Signon()'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccn8asZs.o:(.text+0x30fc): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc7gPmyx.o: In function `Kyedos3_TV::Displaybinaryfiles()':
    
    (.text+0x31c0): multiple definition of `Kyedos3_TV::Displaybinaryfiles()'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccn8asZs.o:(.text+0x31c0): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc7gPmyx.o: In function `Kyedos3_TV::Programdir(int)':
    
    (.text+0x3290): multiple definition of `Kyedos3_TV::Programdir(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccn8asZs.o:(.text+0x3290): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc7gPmyx.o: In function `Kyedos3_TV::Programcommand(int)':
    
    (.text+0x34a8): multiple definition of `Kyedos3_TV::Programcommand(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccn8asZs.o:(.text+0x34a8): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc7gPmyx.o: In function `Kyedos3_TV::Shellcommands(int)':
    
    (.text+0x3950): multiple definition of `Kyedos3_TV::Shellcommands(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccn8asZs.o:(.text+0x3950): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc7gPmyx.o: In function `Kyedos3_TV::Shell()':
    
    (.text+0x3b60): multiple definition of `Kyedos3_TV::Shell()'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccn8asZs.o:(.text+0x3b60): first defined here
    
    c:/propgcc/bin/../lib/gcc/propeller-elf/4.6.1/xmmc/short-doubles/_crtbegin.o: In function `argc_cnt':
    
    (.init+0x3c): undefined reference to `_main'
    
    collect2: ld returned 1 exit status
    
    Done. Build Failed!
    
    Check source for bad function call or global variable name `_main'
    
    
    
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2013-03-21 05:55
    Hmm - maybe because in the project manager panel I had the .h and the .cpp files declared. So - remove all the .cpp ones. The listing is different now


    But I'm guessing what to do next. Tried adding the files in that panel, tried adding links, tried all the .cpp and then all the .h and then both. Tried adding a link to the directory. How does the Project Manager part of SimpleIDE work?
    Project Directory: C:/Propeller/Centimanes/Kyedos C experiments/Kyedos/
    
    propeller-elf-c++ -o a.out -Os -mxmmc -I . -m32bit-doubles -fno-exceptions -fno-rtti tv_text.h ASCII0_STREngine.h DS1307_RTCEngine.h Kyedos3_TV.h pcFullDuplexSerial2FC.h Pocketerm_Keyboard.h Timing.h tv_text.h ASCII0_STREngine.h DS1307_RTCEngine.h Kyedos3_TV.h pcFullDuplexSerial2FC.h Pocketerm_Keyboard.h Timing.h Kyedos3_TV.cpp SD301_FATEngine.h tv_Driver.h Kyedos3_TV.cpp
    (.text+0x0): multiple definition of `Kyedos3_TV::Programchangedirectory(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programchangeattributes(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o:(.text+0xc0): first defined here
    
    (.text+0x178): multiple definition of `Kyedos3_TV::Programmove(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programremove(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o:(.text+0x230): first defined here
    
    (.text+0x2d0): multiple definition of `Kyedos3_TV::Programera(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programmakefile(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o:(.text+0x370): first defined here
    
    (.text+0x410): multiple definition of `Kyedos3_TV::Programmakedirectory(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programcopy(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o:(.text+0x4b0): first defined here
    
    (.text+0x608): multiple definition of `Kyedos3_TV::Programboot(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Multiplydivide(int, int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o:(.text+0x6a8): first defined here
    
    (.text+0x764): multiple definition of `Kyedos3_TV::Printstring(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Starttest(int, int, int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o:(.text+0x7bc): first defined here
    
    (.text+0x7f4): multiple definition of `Kyedos3_TV::Programhelp(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::dat':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o:(.data+0x940): first defined here
    
    (.text+0x8a0): multiple definition of `Kyedos3_TV::Programreboot(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programclear(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o:(.text+0x944): first defined here
    
    (.text+0x9f4): multiple definition of `Kyedos3_TV::Shelldecision(int, int, int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Printchar(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o:(.text+0xa84): first defined here
    
    (.text+0xae4): multiple definition of `Kyedos3_TV::Shellline(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Crlf()':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o:(.text+0xbf0): first defined here
    
    (.text+0xc28): multiple definition of `Kyedos3_TV::Printstringcr(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Stoptest(int, int, int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o:(.text+0xc58): first defined here
    
    (.text+0xd50): multiple definition of `Kyedos3_TV::Programtest(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdump(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o:(.text+0x142c): first defined here
    
    (.text+0x164c): multiple definition of `Kyedos3_TV::Programdate(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programformat(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o:(.text+0x1994): first defined here
    
    (.text+0x1ae0): multiple definition of `Kyedos3_TV::Programdifference(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programusedspace(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o:(.text+0x1cdc): first defined here
    
    (.text+0x1f88): multiple definition of `Kyedos3_TV::Programfreespace(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programunmount(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o:(.text+0x2234): first defined here
    
    (.text+0x22e4): multiple definition of `Kyedos3_TV::Programmount(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programtime(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o:(.text+0x24d4): first defined here
    
    (.text+0x2748): multiple definition of `Kyedos3_TV::Programconcatenate(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programlist(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o:(.text+0x2914): first defined here
    
    (.text+0x2fbc): multiple definition of `Kyedos3_TV::Programecho(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Printdecimal(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o:(.text+0x3070): first defined here
    
    (.text+0x30b8): multiple definition of `Kyedos3_TV::Printstringsignon(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Signon()':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o:(.text+0x30fc): first defined here
    
    (.text+0x31c0): multiple definition of `Kyedos3_TV::Displaybinaryfiles()'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdir(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o:(.text+0x3290): first defined here
    
    (.text+0x34a8): multiple definition of `Kyedos3_TV::Programcommand(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Shellcommands(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o:(.text+0x3950): first defined here
    
    (.text+0x3b60): multiple definition of `Kyedos3_TV::Shell()'
    
    c:/propgcc/bin/../lib/gcc/propeller-elf/4.6.1/xmmc/short-doubles/_crtbegin.o: In function `argc_cnt':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programchangedirectory(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programchangedirectory(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programchangedirectory(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programchangedirectory(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programchangeattributes(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programchangeattributes(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programchangeattributes(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programchangeattributes(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programmove(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programmove(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programmove(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programmove(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programremove(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programremove(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programremove(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programera(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programera(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programera(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programmakefile(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programmakefile(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programmakefile(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programmakedirectory(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programmakedirectory(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programmakedirectory(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programcopy(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programcopy(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programcopy(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programcopy(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programcopy(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programcopy(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programcopy(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programcopy(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programcopy(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programcopy(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programboot(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programboot(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programboot(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Printstring(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Printstring(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Starttest(int, int, int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programhelp(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programhelp(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programreboot(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programreboot(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programreboot(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programclear(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programclear(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Shelldecision(int, int, int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Printchar(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Printchar(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Shellline(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Shellline(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Shellline(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Shellline(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Shellline(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Shellline(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Shellline(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Stoptest(int, int, int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Stoptest(int, int, int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Stoptest(int, int, int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programtest(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programtest(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programtest(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programtest(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programtest(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programtest(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programtest(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programtest(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programtest(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programtest(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programtest(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programtest(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programtest(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programtest(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programtest(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programtest(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programtest(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programtest(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programtest(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programtest(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdump(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdump(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdump(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdump(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdump(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdump(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdump(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdump(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdump(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdump(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdump(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdump(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdump(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programformat(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programformat(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programformat(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programformat(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programformat(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programformat(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdifference(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdifference(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdifference(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdifference(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdifference(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdifference(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdifference(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdifference(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdifference(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdifference(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdifference(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdifference(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdifference(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdifference(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programusedspace(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programusedspace(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programusedspace(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programusedspace(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programusedspace(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programusedspace(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programusedspace(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programusedspace(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programusedspace(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programusedspace(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programusedspace(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programusedspace(int)':
    
    (.text+0x1e90): undefined reference to `SD301_FATEngine::Partitionbytespersector()'
    (.text+0x1ea4): undefined reference to `ASCII0_STREngine::Integertodecimal(int, int)'
    
    (.text+0x1ef0): undefined reference to `ASCII0_STREngine::Tokenizestring(int)'
    
    (.text+0x1f00): undefined reference to `SD301_FATEngine::Partitionusedsectorcount(int)'
    
    (.text+0x1f14): undefined reference to `ASCII0_STREngine::Integertodecimal(int, int)'
    
    (.text+0x1fb4): undefined reference to `ASCII0_STREngine::Stringcompareci(int, int)'
    
    (.text+0x1fe4): undefined reference to `SD301_FATEngine::Partitionfilesystemtype()'
    
    (.text+0x1ff4): undefined reference to `ASCII0_STREngine::Trimstring(int)'
    
    (.text+0x2024): undefined reference to `SD301_FATEngine::Partitionvolumelabel()'
    
    (.text+0x2034): undefined reference to `ASCII0_STREngine::Trimstring(int)'
    
    (.text+0x2064): undefined reference to `SD301_FATEngine::Partitioncountofclusters()'
    
    (.text+0x2078): undefined reference to `ASCII0_STREngine::Integertodecimal(int, int)'
    
    (.text+0x20ac): undefined reference to `SD301_FATEngine::Partitiondatasectors()'
    
    (.text+0x20c0): undefined reference to `ASCII0_STREngine::Integertodecimal(int, int)'
    
    (.text+0x20f4): undefined reference to `SD301_FATEngine::Partitionsectorspercluster()'
    
    (.text+0x2108): undefined reference to `ASCII0_STREngine::Integertodecimal(int, int)'
    
    (.text+0x213c): undefined reference to `SD301_FATEngine::Partitionbytespersector()'
    
    (.text+0x2150): undefined reference to `ASCII0_STREngine::Integertodecimal(int, int)'
    
    (.text+0x219c): undefined reference to `ASCII0_STREngine::Tokenizestring(int)'
    
    (.text+0x21ac): undefined reference to `SD301_FATEngine::Partitionfreesectorcount(int)'
    
    (.text+0x21c0): undefined reference to `ASCII0_STREngine::Integertodecimal(int, int)'
    
    (.text+0x225c): undefined reference to `ASCII0_STREngine::Stringcompareci(int, int)'
    
    (.text+0x2278): undefined reference to `SD301_FATEngine::Unmountpartition()'
    
    (.text+0x2284): undefined reference to `SD301_FATEngine::Unmountpartition()'
    
    (.text+0x2310): undefined reference to `ASCII0_STREngine::Stringcompareci(int, int)'
    
    (.text+0x2328): undefined reference to `ASCII0_STREngine::Tokenizestring(int)'
    
    (.text+0x2338): undefined reference to `ASCII0_STREngine::Decimaltointeger(int)'
    
    (.text+0x234c): undefined reference to `SD301_FATEngine::Mountpartition(int)'
    
    (.text+0x2384): undefined reference to `SD301_FATEngine::Mountpartition(int)'
    
    (.text+0x2390): undefined reference to `SD301_FATEngine::Partitionwriteprotected()'
    
    (.text+0x23cc): undefined reference to `SD301_FATEngine::Partitiondisksignature()'
    
    (.text+0x23e0): undefined reference to `ASCII0_STREngine::Integertohexadecimal(int, int)'
    
    (.text+0x2410): undefined reference to `SD301_FATEngine::Partitionvolumeidentification()'
    
    (.text+0x2424): undefined reference to `ASCII0_STREngine::Integertohexadecimal(int, int)'
    
    (.text+0x2454): undefined reference to `SD301_FATEngine::Partitionvolumelabel()'
    
    (.text+0x2464): undefined reference to `ASCII0_STREngine::Trimstring(int)'
    
    (.text+0x2504): undefined reference to `ASCII0_STREngine::Stringcompareci(int, int)'
    
    (.text+0x254c): undefined reference to `ASCII0_STREngine::Decimaltointeger(int)'
    
    (.text+0x2574): undefined reference to `ASCII0_STREngine::Decimaltointeger(int)'
    
    (.text+0x25a8): undefined reference to `ASCII0_STREngine::Decimaltointeger(int)'
    
    (.text+0x25d0): undefined reference to `ASCII0_STREngine::Decimaltointeger(int)'
    
    (.text+0x25f8): undefined reference to `ASCII0_STREngine::Decimaltointeger(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programtime(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programconcatenate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programconcatenate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programconcatenate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programconcatenate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programconcatenate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programconcatenate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programconcatenate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programconcatenate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programconcatenate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programconcatenate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programconcatenate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programconcatenate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programlist(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programlist(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programlist(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programlist(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programlist(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `.L207':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programecho(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programecho(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Printdecimal(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Printstringsignon(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Displaybinaryfiles()':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Displaybinaryfiles()':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Displaybinaryfiles()':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Displaybinaryfiles()':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdir(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdir(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdir(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdir(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdir(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdir(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdir(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdir(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdir(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdir(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdir(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdir(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdir(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programdir(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programcommand(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programcommand(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Programcommand(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `.L249':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `.L249':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `.L249':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `.L249':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `.L249':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `.L249':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `.L249':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `.L249':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `.L249':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `.L249':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `.L249':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `.L249':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `.L252':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Shellcommands(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Shell()':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Shell()':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Shell()':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Shell()':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Shell()':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Shell()':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Shell()':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Shell()':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Shell()':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Shell()':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc3uToYq.o: In function `Kyedos3_TV::Shell()':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programchangedirectory(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programchangedirectory(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programchangedirectory(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programchangedirectory(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programchangeattributes(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programchangeattributes(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programchangeattributes(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programchangeattributes(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programmove(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programmove(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programmove(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programmove(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programremove(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programremove(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programremove(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programera(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programera(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programera(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programmakefile(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programmakefile(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programmakefile(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programmakedirectory(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programmakedirectory(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programmakedirectory(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programcopy(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programcopy(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programcopy(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programcopy(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programcopy(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programcopy(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programcopy(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programcopy(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programcopy(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programcopy(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programboot(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programboot(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programboot(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Printstring(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Printstring(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Starttest(int, int, int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programhelp(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programhelp(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programreboot(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programreboot(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programreboot(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programclear(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programclear(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Shelldecision(int, int, int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Printchar(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Printchar(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Shellline(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Shellline(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Shellline(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Shellline(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Shellline(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Shellline(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Shellline(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Stoptest(int, int, int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Stoptest(int, int, int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Stoptest(int, int, int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programtest(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programtest(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programtest(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programtest(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programtest(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programtest(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programtest(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programtest(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programtest(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programtest(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programtest(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programtest(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programtest(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programtest(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programtest(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programtest(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programtest(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programtest(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programtest(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programtest(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdump(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdump(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdump(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdump(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdump(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdump(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdump(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdump(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdump(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdump(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdump(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdump(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdump(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programformat(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programformat(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programformat(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programformat(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programformat(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programformat(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdifference(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdifference(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdifference(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdifference(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdifference(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdifference(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdifference(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdifference(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdifference(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdifference(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdifference(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdifference(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdifference(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdifference(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programusedspace(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programusedspace(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programusedspace(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programusedspace(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programusedspace(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programusedspace(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programusedspace(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programusedspace(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programusedspace(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programusedspace(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programusedspace(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programusedspace(int)':
    
    (.text+0x1e90): undefined reference to `SD301_FATEngine::Partitionbytespersector()'
    (.text+0x1ea4): undefined reference to `ASCII0_STREngine::Integertodecimal(int, int)'
    
    (.text+0x1ef0): undefined reference to `ASCII0_STREngine::Tokenizestring(int)'
    
    (.text+0x1f00): undefined reference to `SD301_FATEngine::Partitionusedsectorcount(int)'
    
    (.text+0x1f14): undefined reference to `ASCII0_STREngine::Integertodecimal(int, int)'
    
    (.text+0x1fb4): undefined reference to `ASCII0_STREngine::Stringcompareci(int, int)'
    
    (.text+0x1fe4): undefined reference to `SD301_FATEngine::Partitionfilesystemtype()'
    
    (.text+0x1ff4): undefined reference to `ASCII0_STREngine::Trimstring(int)'
    
    (.text+0x2024): undefined reference to `SD301_FATEngine::Partitionvolumelabel()'
    
    (.text+0x2034): undefined reference to `ASCII0_STREngine::Trimstring(int)'
    
    (.text+0x2064): undefined reference to `SD301_FATEngine::Partitioncountofclusters()'
    
    (.text+0x2078): undefined reference to `ASCII0_STREngine::Integertodecimal(int, int)'
    
    (.text+0x20ac): undefined reference to `SD301_FATEngine::Partitiondatasectors()'
    
    (.text+0x20c0): undefined reference to `ASCII0_STREngine::Integertodecimal(int, int)'
    
    (.text+0x20f4): undefined reference to `SD301_FATEngine::Partitionsectorspercluster()'
    
    (.text+0x2108): undefined reference to `ASCII0_STREngine::Integertodecimal(int, int)'
    
    (.text+0x213c): undefined reference to `SD301_FATEngine::Partitionbytespersector()'
    
    (.text+0x2150): undefined reference to `ASCII0_STREngine::Integertodecimal(int, int)'
    
    (.text+0x219c): undefined reference to `ASCII0_STREngine::Tokenizestring(int)'
    
    (.text+0x21ac): undefined reference to `SD301_FATEngine::Partitionfreesectorcount(int)'
    
    (.text+0x21c0): undefined reference to `ASCII0_STREngine::Integertodecimal(int, int)'
    
    (.text+0x225c): undefined reference to `ASCII0_STREngine::Stringcompareci(int, int)'
    
    (.text+0x2278): undefined reference to `SD301_FATEngine::Unmountpartition()'
    
    (.text+0x2284): undefined reference to `SD301_FATEngine::Unmountpartition()'
    
    (.text+0x2310): undefined reference to `ASCII0_STREngine::Stringcompareci(int, int)'
    
    (.text+0x2328): undefined reference to `ASCII0_STREngine::Tokenizestring(int)'
    
    (.text+0x2338): undefined reference to `ASCII0_STREngine::Decimaltointeger(int)'
    
    (.text+0x234c): undefined reference to `SD301_FATEngine::Mountpartition(int)'
    
    (.text+0x2384): undefined reference to `SD301_FATEngine::Mountpartition(int)'
    
    (.text+0x2390): undefined reference to `SD301_FATEngine::Partitionwriteprotected()'
    
    (.text+0x23cc): undefined reference to `SD301_FATEngine::Partitiondisksignature()'
    
    (.text+0x23e0): undefined reference to `ASCII0_STREngine::Integertohexadecimal(int, int)'
    
    (.text+0x2410): undefined reference to `SD301_FATEngine::Partitionvolumeidentification()'
    
    (.text+0x2424): undefined reference to `ASCII0_STREngine::Integertohexadecimal(int, int)'
    
    (.text+0x2454): undefined reference to `SD301_FATEngine::Partitionvolumelabel()'
    
    (.text+0x2464): undefined reference to `ASCII0_STREngine::Trimstring(int)'
    
    (.text+0x2504): undefined reference to `ASCII0_STREngine::Stringcompareci(int, int)'
    
    (.text+0x254c): undefined reference to `ASCII0_STREngine::Decimaltointeger(int)'
    
    (.text+0x2574): undefined reference to `ASCII0_STREngine::Decimaltointeger(int)'
    
    (.text+0x25a8): undefined reference to `ASCII0_STREngine::Decimaltointeger(int)'
    
    (.text+0x25d0): undefined reference to `ASCII0_STREngine::Decimaltointeger(int)'
    
    (.text+0x25f8): undefined reference to `ASCII0_STREngine::Decimaltointeger(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programtime(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programconcatenate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programconcatenate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programconcatenate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programconcatenate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programconcatenate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programconcatenate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programconcatenate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programconcatenate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programconcatenate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programconcatenate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programconcatenate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programconcatenate(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programlist(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programlist(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programlist(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programlist(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programlist(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `.L202':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `.L207':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programecho(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programecho(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Printdecimal(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Printstringsignon(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Displaybinaryfiles()':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Displaybinaryfiles()':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Displaybinaryfiles()':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Displaybinaryfiles()':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdir(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdir(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdir(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdir(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdir(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdir(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdir(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdir(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdir(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdir(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdir(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdir(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdir(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programdir(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programcommand(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programcommand(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Programcommand(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `.L249':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `.L249':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `.L249':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `.L249':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `.L249':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `.L249':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `.L249':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `.L249':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `.L249':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `.L249':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `.L249':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `.L249':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `.L252':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Shellcommands(int)':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Shell()':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Shell()':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Shell()':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Shell()':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Shell()':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Shell()':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Shell()':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Shell()':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Shell()':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Shell()':
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccFMpETP.o: In function `Kyedos3_TV::Shell()':
    
    collect2: ld returned 1 exit status
    
    Done. Build Failed!
    
    Check source for bad function call or global variable name `SD301_FATEngine::Partitionbytespersector()'
    (.text+0x1ea4): 
    
    
  • kuronekokuroneko Posts: 3,623
    edited 2013-03-21 06:08
    Only use the cpp files and only those which you actually need (the linker errors give you enough hints, start with Kyedos3_TV.cpp and go from there). The header files are - if required - referenced by any C/C++ file which needs them.
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2013-03-21 06:13
    Thanks kuroneko. It isn't entirely clear to use the .cpp files. If you right click and add a link (or a copy, not sure which is best), then the default files it shows are all the .h and .spin files in that folder. But not the .cpp files. Maybe a SimpleIDE thing?

    I've just got the .cpp files in the project manager now. Getting a slightly different list of errors
    Project Directory: C:/Propeller/Centimanes/Kyedos C experiments/Kyedos/
    
    propeller-elf-c++ -o a.out -Os -mxmmc -I . -m32bit-doubles -fno-exceptions -fno-rtti SD301_FATEngine.cpp Timing.cpp tv_Driver.cpp tv_text.cpp ASCII0_STREngine.cpp DS1307_RTCEngine.cpp Kyedos3_TV.cpp pcFullDuplexSerial2FC.cpp Pocketerm_Keyboard.cpp Kyedos3_TV.cpp
    ASCII0_STREngine.cpp: In member function 'int32_t ASCII0_STREngine::Tokenizestring(int32_t)':
    
    ASCII0_STREngine.cpp:146:22: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
    
    ASCII0_STREngine.cpp:147:59: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc5p6cER.o: In function `Kyedos3_TV::Programchangedirectory(int)':
    
    (.text+0x0): multiple definition of `Kyedos3_TV::Programchangedirectory(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc6MRDAS.o:(.text+0x0): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc5p6cER.o: In function `Kyedos3_TV::Programchangeattributes(int)':
    
    (.text+0xc0): multiple definition of `Kyedos3_TV::Programchangeattributes(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc6MRDAS.o:(.text+0xc0): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc5p6cER.o: In function `Kyedos3_TV::Programmove(int)':
    
    (.text+0x178): multiple definition of `Kyedos3_TV::Programmove(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc6MRDAS.o:(.text+0x178): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc5p6cER.o: In function `Kyedos3_TV::Programremove(int)':
    
    (.text+0x230): multiple definition of `Kyedos3_TV::Programremove(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc6MRDAS.o:(.text+0x230): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc5p6cER.o: In function `Kyedos3_TV::Programera(int)':
    
    (.text+0x2d0): multiple definition of `Kyedos3_TV::Programera(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc6MRDAS.o:(.text+0x2d0): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc5p6cER.o: In function `Kyedos3_TV::Programmakefile(int)':
    
    (.text+0x370): multiple definition of `Kyedos3_TV::Programmakefile(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc6MRDAS.o:(.text+0x370): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc5p6cER.o: In function `Kyedos3_TV::Programmakedirectory(int)':
    
    (.text+0x410): multiple definition of `Kyedos3_TV::Programmakedirectory(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc6MRDAS.o:(.text+0x410): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc5p6cER.o: In function `Kyedos3_TV::Programcopy(int)':
    
    (.text+0x4b0): multiple definition of `Kyedos3_TV::Programcopy(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc6MRDAS.o:(.text+0x4b0): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc5p6cER.o: In function `Kyedos3_TV::Programboot(int)':
    
    (.text+0x608): multiple definition of `Kyedos3_TV::Programboot(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc6MRDAS.o:(.text+0x608): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc5p6cER.o: In function `Kyedos3_TV::Multiplydivide(int, int)':
    
    (.text+0x6a8): multiple definition of `Kyedos3_TV::Multiplydivide(int, int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc6MRDAS.o:(.text+0x6a8): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc5p6cER.o: In function `Kyedos3_TV::Printstring(int)':
    
    (.text+0x764): multiple definition of `Kyedos3_TV::Printstring(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc6MRDAS.o:(.text+0x764): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc5p6cER.o: In function `Kyedos3_TV::Starttest(int, int, int)':
    
    (.text+0x7bc): multiple definition of `Kyedos3_TV::Starttest(int, int, int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc6MRDAS.o:(.text+0x7bc): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc5p6cER.o: In function `Kyedos3_TV::Programhelp(int)':
    
    (.text+0x7f4): multiple definition of `Kyedos3_TV::Programhelp(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc6MRDAS.o:(.text+0x7f4): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc5p6cER.o: In function `Kyedos3_TV::dat':
    
    (.data+0x844): multiple definition of `Kyedos3_TV::dat'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc6MRDAS.o:(.data+0x844): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc5p6cER.o: In function `Kyedos3_TV::Programreboot(int)':
    
    (.text+0x8a0): multiple definition of `Kyedos3_TV::Programreboot(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc6MRDAS.o:(.text+0x8a0): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc5p6cER.o: In function `Kyedos3_TV::Programclear(int)':
    
    (.text+0x944): multiple definition of `Kyedos3_TV::Programclear(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc6MRDAS.o:(.text+0x944): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc5p6cER.o: In function `Kyedos3_TV::Shelldecision(int, int, int)':
    
    (.text+0x9f4): multiple definition of `Kyedos3_TV::Shelldecision(int, int, int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc6MRDAS.o:(.text+0x9f4): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc5p6cER.o: In function `Kyedos3_TV::Printchar(int)':
    
    (.text+0xa84): multiple definition of `Kyedos3_TV::Printchar(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc6MRDAS.o:(.text+0xa84): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc5p6cER.o: In function `Kyedos3_TV::Shellline(int)':
    
    (.text+0xae4): multiple definition of `Kyedos3_TV::Shellline(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc6MRDAS.o:(.text+0xae4): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc5p6cER.o: In function `Kyedos3_TV::Crlf()':
    
    (.text+0xbf0): multiple definition of `Kyedos3_TV::Crlf()'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc6MRDAS.o:(.text+0xbf0): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc5p6cER.o: In function `Kyedos3_TV::Printstringcr(int)':
    
    (.text+0xc28): multiple definition of `Kyedos3_TV::Printstringcr(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc6MRDAS.o:(.text+0xc28): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc5p6cER.o: In function `Kyedos3_TV::Stoptest(int, int, int)':
    
    (.text+0xc58): multiple definition of `Kyedos3_TV::Stoptest(int, int, int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc6MRDAS.o:(.text+0xc58): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc5p6cER.o: In function `Kyedos3_TV::Programtest(int)':
    
    (.text+0xd50): multiple definition of `Kyedos3_TV::Programtest(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc6MRDAS.o:(.text+0xd50): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc5p6cER.o: In function `Kyedos3_TV::Programdump(int)':
    
    (.text+0x142c): multiple definition of `Kyedos3_TV::Programdump(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc6MRDAS.o:(.text+0x142c): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc5p6cER.o: In function `Kyedos3_TV::Programdate(int)':
    
    (.text+0x164c): multiple definition of `Kyedos3_TV::Programdate(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc6MRDAS.o:(.text+0x164c): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc5p6cER.o: In function `Kyedos3_TV::Programformat(int)':
    
    (.text+0x18cc): multiple definition of `Kyedos3_TV::Programformat(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc6MRDAS.o:(.text+0x18cc): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc5p6cER.o: In function `Kyedos3_TV::Programdifference(int)':
    
    (.text+0x1a18): multiple definition of `Kyedos3_TV::Programdifference(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc6MRDAS.o:(.text+0x1a18): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc5p6cER.o: In function `Kyedos3_TV::Programusedspace(int)':
    
    (.text+0x1c14): multiple definition of `Kyedos3_TV::Programusedspace(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc6MRDAS.o:(.text+0x1c14): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc5p6cER.o: In function `Kyedos3_TV::Programfreespace(int)':
    
    (.text+0x1ec0): multiple definition of `Kyedos3_TV::Programfreespace(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc6MRDAS.o:(.text+0x1ec0): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc5p6cER.o: In function `Kyedos3_TV::Programunmount(int)':
    
    (.text+0x216c): multiple definition of `Kyedos3_TV::Programunmount(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc6MRDAS.o:(.text+0x216c): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc5p6cER.o: In function `Kyedos3_TV::Programmount(int)':
    
    (.text+0x221c): multiple definition of `Kyedos3_TV::Programmount(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc6MRDAS.o:(.text+0x221c): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc5p6cER.o: In function `Kyedos3_TV::Programtime(int)':
    
    (.text+0x240c): multiple definition of `Kyedos3_TV::Programtime(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc6MRDAS.o:(.text+0x240c): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc5p6cER.o: In function `Kyedos3_TV::Programconcatenate(int)':
    
    (.text+0x2680): multiple definition of `Kyedos3_TV::Programconcatenate(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc6MRDAS.o:(.text+0x2680): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc5p6cER.o: In function `Kyedos3_TV::Programlist(int)':
    
    (.text+0x284c): multiple definition of `Kyedos3_TV::Programlist(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc6MRDAS.o:(.text+0x284c): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc5p6cER.o: In function `Kyedos3_TV::Programecho(int)':
    
    (.text+0x2ef4): multiple definition of `Kyedos3_TV::Programecho(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc6MRDAS.o:(.text+0x2ef4): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc5p6cER.o: In function `Kyedos3_TV::Printdecimal(int)':
    
    (.text+0x2fa8): multiple definition of `Kyedos3_TV::Printdecimal(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc6MRDAS.o:(.text+0x2fa8): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc5p6cER.o: In function `Kyedos3_TV::Printstringsignon(int)':
    
    (.text+0x2ff0): multiple definition of `Kyedos3_TV::Printstringsignon(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc6MRDAS.o:(.text+0x2ff0): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc5p6cER.o: In function `Kyedos3_TV::Signon()':
    
    (.text+0x3034): multiple definition of `Kyedos3_TV::Signon()'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc6MRDAS.o:(.text+0x3034): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc5p6cER.o: In function `Kyedos3_TV::Displaybinaryfiles()':
    
    (.text+0x30f8): multiple definition of `Kyedos3_TV::Displaybinaryfiles()'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc6MRDAS.o:(.text+0x30f8): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc5p6cER.o: In function `Kyedos3_TV::Programdir(int)':
    
    (.text+0x31c8): multiple definition of `Kyedos3_TV::Programdir(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc6MRDAS.o:(.text+0x31c8): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc5p6cER.o: In function `Kyedos3_TV::Programcommand(int)':
    
    (.text+0x33e0): multiple definition of `Kyedos3_TV::Programcommand(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc6MRDAS.o:(.text+0x33e0): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc5p6cER.o: In function `Kyedos3_TV::Shellcommands(int)':
    
    (.text+0x3888): multiple definition of `Kyedos3_TV::Shellcommands(int)'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc6MRDAS.o:(.text+0x3888): first defined here
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc5p6cER.o: In function `Kyedos3_TV::Shell()':
    
    (.text+0x3a98): multiple definition of `Kyedos3_TV::Shell()'
    
    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc6MRDAS.o:(.text+0x3a98): first defined here
    
    c:/propgcc/bin/../lib/gcc/propeller-elf/4.6.1/xmmc/short-doubles/_crtbegin.o: In function `argc_cnt':
    
    (.init+0x3c): undefined reference to `_main'
    
    collect2: ld returned 1 exit status
    
    Done. Build Failed!
    
    Check source for bad function call or global variable name `_main'
    
    
    
    1020 x 738 - 163K
  • kuronekokuroneko Posts: 3,623
    edited 2013-03-21 06:28
    Kyedos3_TV.cpp appears twice in the parameter list for the compiler (although it's only listed once in the UI). That's not working.
  • jazzedjazzed Posts: 11,803
    edited 2013-03-21 10:59
    kuroneko wrote: »
    Kyedos3_TV.cpp appears twice in the parameter list for the compiler (although it's only listed once in the UI). That's not working.

    Nice find. I'll write a bug report on it. Sorry for the confusion. Thanks for your help - I'm overloaded !
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2013-03-21 14:47
    Well spotted! Indeed it is there twice.

    Is there a manual fix for this?
  • jazzedjazzed Posts: 11,803
    edited 2013-03-21 15:19
    Dr_Acula wrote: »
    Is there a manual fix for this?

    Edit the .side file by hand with notepad. Just remove the duplicate line.
  • ersmithersmith Posts: 6,054
    edited 2013-03-21 19:46
    If you're just trying to compile a Spin program, it might be easier to skip the IDE entirely for the moment (at least until SIDE supports spin2cpp). You can just use a single command line:
        spin2cpp --elf -mcmm -o toplevel.elf -O toplevel.spin
    
    That will create all the .cpp and .h files needed by toplevel.spin and compile them to an ELF file called toplevel.elf, which can then be loaded and run via a command like:
        propeller-load -bc3 toplevel.elf -r -t
    
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2013-03-22 06:06
    Edit the .side file by hand with notepad. Just remove the duplicate line.

    Thanks++ Jazzed, that fixed heaps of errors. Very close now. Just one error (undefined reference to `_main'). In a slightly recursive fashion, a search for this error took me back to this very forum with a posting by myself trying to do the very same thing back in July last year. Darn it, I'm going to get this working!

    So this is the error log
    Project Directory: C:/Propeller/Centimanes/Kyedos C experiments/Kyedos/
    
    propeller-elf-c++ -o a.out -Os -mxmmc -I . -m32bit-doubles -fno-exceptions -fno-rtti SD301_FATEngine.cpp Timing.cpp tv_Driver.cpp tv_text.cpp ASCII0_STREngine.cpp DS1307_RTCEngine.cpp pcFullDuplexSerial2FC.cpp Pocketerm_Keyboard.cpp Kyedos3_TV.cpp
    ASCII0_STREngine.cpp: In member function 'int32_t ASCII0_STREngine::Tokenizestring(int32_t)':
    
    ASCII0_STREngine.cpp:146:22: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
    ASCII0_STREngine.cpp:147:59: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
    
    c:/propgcc/bin/../lib/gcc/propeller-elf/4.6.1/xmmc/short-doubles/_crtbegin.o: In function `argc_cnt':
    
    (.init+0x3c): undefined reference to `_main'
    
    collect2: ld returned 1 exit status
    Done. Build Failed!
    Check source for bad function call or global variable name `_main'
    

    Attached is the zip.
  • ersmithersmith Posts: 6,054
    edited 2013-03-22 09:47
    In C the function main() is the thing that is always called first.

    spin2cpp doesn't automatically add a main() function, because it doesn't know if you're converting a .spin file for use as a driver (to link with your own main program). You can tell it to add a main() automatically by specifying --main (or --elf); in this case it will create a very simple main that just calls the first method in the first Spin object, the same way the Spin interpreter does.

    The other thing to beware is that you're compiling an SD card driver in XMMC mode. It's very likely that the XMMC cache driver will conflict with the Spin driver you're converting. Have you tried it in CMM mode to see if it will fit in hub memory?

    Eric
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2013-03-22 15:37
    Thanks Eric - that fixed it. No more errors compiling!

    I changed my batch file to
    spin2cpp --main Kyedos3_TV.spin
    pause
    

    Have you tried it in CMM mode to see if it will fit in hub memory?

    But no, unfortunately it does not fit in hub ram. The Spin program is about 22k. The C program (optimised for size) is about 57k.

    So no, it does not fit in hub memory, and it does not fit in the 23K256 chip either :(

    Looks like it is time for an upgrade to one of Microchip's bigger ram chips!

    I'm hoping there are no conflicts between drivers. This Spin program has all its own drivers - it doesn't use stdio and it doesn't use the SD drivers in the C library. The pins for the SPI ram and the pins for the SD card are separate. So I am hoping there are no conflicts.

    But am I using the correct memory model. I'm using XMMC. I want the program cached in sram, not cached on the SD card. Is XMMC the right one, or should it be XMM or something else?

    Addit: doing some more experiments. brb

    Ok, removed the SD card so this can't possibly end up cached on the SD card. Tested with the sram plugged and unplugged. The program will still be downloaded to the sram even if it is unplugged so from that, assume that it doesn't do a read/write test first. So the test is whether the program runs or not.

    In c:\propgcc\propeller_load is a new board type called sram_spi.cfg
    # sram_spi.cfg
        clkfreq: 80000000
        clkmode: XTAL1+PLL16X
        baudrate: 115200
        rxpin: 31
        txpin: 30
        cache-driver: spi_sram_cache.dat
        cache-size: 8K
        cache-param1: 0x05070601 # 0xooiiccpp - oo=mosi ii=miso cc=sck pp=cs-protocol
        cache-param2: 0x04000000 # 0xssxxxxxx - ss=cs
        load-target: ram
    

    The C program is
    #include <stdio.h>
    #include <propeller.h>
    
    int main(void)
    {
        int n = 1;
        while(1) {
            waitcnt(CLKFREQ/10+CNT);
            printf("Hello World %d\n", n);
            n++;
        }
        return 0;
    }
    

    and the .side file is
    test3.c
    >compiler=C++
    >memtype=xmmc
    >optimize=-Os
    >-fno-exceptions
    >-Dprintf=__simple_printf
    >-fno-rtti
    >BOARD::SRAM_SPI
    

    So that compiles to the sram with this
    Project Directory: C:/Propeller/Centimanes/Kyedos C experiments/test2/
    
    propeller-elf-c++ -o a.out -Os -mxmmc -I . -fno-exceptions -Dprintf=__simple_printf -fno-rtti test3.c
    propeller-elf-objdump -h a.out
    Done. Build Succeeded!
    
    propeller-load.exe -I C:/propgcc/propeller-load/ -b SRAM_SPI -p COM1 a.out -rLoading the serial helper to hub memory
    
    9528 bytes sent
    
    Verifying RAM ... Loading cache driver 'spi_sram_cache.dat'
    
    1188 bytes sent             
    Loading program image to RAM
    19708 bytes sent             
    Loading .xmmkernel
    1724 bytes sent             
    

    This code appears to be running from the sram. So I think that will get around any cache conflicts?

    I have ordered some 23LC1024 chips from both Radio Spares and Element14 - they usually deliver within a few days so should be able to continue experiments then.
  • David BetzDavid Betz Posts: 14,516
    edited 2013-03-22 15:46
    Dr_Acula wrote: »
    Thanks Eric - that fixed it. No more errors compiling!

    I changed my batch file to
    spin2cpp --main Kyedos3_TV.spin
    pause
    




    But no, unfortunately it does not fit in hub ram. The Spin program is about 22k. The C program (optimised for size) is about 57k.

    So no, it does not fit in hub memory, and it does not fit in the 23K256 chip either :(

    Looks like it is time for an upgrade to one of Microchip's bigger ram chips!

    I'm hoping there are no conflicts between drivers. This Spin program has all its own drivers - it doesn't use stdio and it doesn't use the SD drivers in the C library. The pins for the SPI ram and the pins for the SD card are separate. So I am hoping there are no conflicts.

    But am I using the correct memory model. I'm using XMMC. I want the program cached in sram, not cached on the SD card. Is XMMC the right one, or should it be XMM or something else?
    Why don't you use a SPI flash chip instead of the SRAM chip? If you're using the xmmc memory model you don't need read/write memory.
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2013-03-22 16:37
    That could be an option.

    I'm still looking at all the memory models. I think some split the program and the data - program in 'write once, read often' memory and data in ram. I think there is a split mode for that.

    What I would like to do with kyedos is devote more ram to video (TV or VGA). That can't be done with Spin but it can be done with C :) That means both program and data have to go in external memory, and data, especially data that is rewritten often, would be better in sram rather than flash, right?

    What exactly is the XMMC model? Is the data stored in hub?
  • jazzedjazzed Posts: 11,803
    edited 2013-03-22 16:58
    Dr_Acula wrote: »
    What exactly is the XMMC model? Is the data stored in hub?

    XMMC means XMM code. That is, code is kept in a device like Flash or even EEPROM (much slower than Flash). Flash is only written to change the code. All data is in HUB RAM. XMMC is the fastet external memory model because the kernel doesn't have to decide what to do with data. Code is always in XMMC, and data is always in HUB, so the kernel can save time. It is also faster because there is only one device used with the cache and there is no write-back required from the cache for data. Other XMM modes like XMM-Single must use the cache to handle code and data. It's quite slow.

    You can still use SRAM for XMMC. Your SDcard can have programs on it that get loaded to SRAM by the loader. The problem with SRAM is density (SPI SRAM <= 128K per device) and some cases massive number of pins required. SDRAM doesn't have density issues, but it requires many pins and is relatively slow to access.
  • David BetzDavid Betz Posts: 14,516
    edited 2013-03-22 18:04
    jazzed wrote: »
    XMMC means XMM code. That is, code is kept in a device like Flash or even EEPROM (much slower than Flash). Flash is only written to change the code. All data is in HUB RAM. XMMC is the fastet external memory model because the kernel doesn't have to decide what to do with data. Code is always in XMMC, and data is always in HUB, so the kernel can save time. It is also faster because there is only one device used with the cache and there is no write-back required from the cache for data. Other XMM modes like XMM-Single must use the cache to handle code and data. It's quite slow.

    You can still use SRAM for XMMC. Your SDcard can have programs on it that get loaded to SRAM by the loader. The problem with SRAM is density (SPI SRAM <= 128K per device) and some cases massive number of pins required. SDRAM doesn't have density issues, but it requires many pins and is relatively slow to access.
    This is mostly correct except for one statement. Code is not necessarily always in external memory in xmmc mode. You can force specific functions into hub memory for better performance or for determinstic execution.
  • David BetzDavid Betz Posts: 14,516
    edited 2013-03-22 18:06
    Dr_Acula wrote: »
    That could be an option.

    I'm still looking at all the memory models. I think some split the program and the data - program in 'write once, read often' memory and data in ram. I think there is a split mode for that.

    What I would like to do with kyedos is devote more ram to video (TV or VGA). That can't be done with Spin but it can be done with C :) That means both program and data have to go in external memory, and data, especially data that is rewritten often, would be better in sram rather than flash, right?

    What exactly is the XMMC model? Is the data stored in hub?
    You mention the "split" mode. That is a mode that currently is only used on the C3 which has both a SPI flash chip and a couple of SPI SRAM chips. The xmm-split mode puts the code in the flash and data in the SRAM.

    Also, you don't necessarily have all of hub memory available just because you're using xmmc mode. First, there is an 8k cache at the top of hub memory that is used to speed up access to the external memory. Beyond that, the stack is always in hub memory no matter which memory model you choose so you have to reserve enough space for that.
  • jazzedjazzed Posts: 11,803
    edited 2013-03-22 20:06
    David Betz wrote: »
    This is mostly correct except for one statement. Code is not necessarily always in external memory in xmmc mode. You can force specific functions into hub memory for better performance or for deterministic execution.

    Ya, just love that unique GCC feature. How could I forget it ?
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2013-03-22 20:33
    The SPI flash chip for code and hub for data sounds interesting. Is there a sweet point for $/byte for these - what is a good chip? Something like this 32mb one http://australia.rs-online.com/web/p/flash-memory-chips/7117997/

    Or does the flash chip need to be a particular brand to work with the software driver?
  • David BetzDavid Betz Posts: 14,516
    edited 2013-03-23 04:46
    jazzed wrote: »
    Ya, just love that unique GCC feature. How could I forget it ?
    I'm not sure it's really a unique feature. Pretty much every C system that I've ever used has allowed you to control where things get placed in memory. It's certainly true of any serious embedded compiler.
  • jazzedjazzed Posts: 11,803
    edited 2013-03-23 09:00
    David Betz wrote: »
    I'm not sure it's really a unique feature. Pretty much every C system that I've ever used has allowed you to control where things get placed in memory. It's certainly true of any serious embedded compiler.

    Well sure, but as I recall it is by address and pointer in most solutions which is clunky.

    All you need in Propeller-GCC is to add the HUBTEXT (from propeller.h) decoration before a function.
    Data can also be assigned to HUB by using HUBDATA (from propeller.h).
  • David BetzDavid Betz Posts: 14,516
    edited 2013-03-23 09:18
    jazzed wrote: »
    Well sure, but as I recall it is by address and pointer in most solutions which is clunky.

    All you need in Propeller-GCC is to add the HUBTEXT (from propeller.h) decoration before a function.
    Data can also be assigned to HUB by using HUBDATA (from propeller.h).
    True, the HUBTEXT macro does prevent you from having to use the more obscure syntax that would be required on other platforms to place code or data in a specific memory section:

    __attribute__((section(".hubtext")))
  • jazzedjazzed Posts: 11,803
    edited 2013-03-23 10:04
    David Betz wrote: »
    ... other platforms to place code or data in a specific memory section:

    __attribute__((section(".hubtext")))

    Not all platforms use sections.
Sign In or Register to comment.