View Single Post
  #19   Spotlight this post!  
Unread 27-04-2010, 17:17
byteit101's Avatar
byteit101 byteit101 is offline
WPILib maintainer (WPI)
AKA: Patrick Plenefisch
no team (The Cat Attack (Formerly))
Team Role: Programmer
 
Join Date: Jan 2009
Rookie Year: 2009
Location: Worcester
Posts: 699
byteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of light
Re: No Robot Code!!!

Quote:
Originally Posted by masoug View Post
Hmmm... Thanks, but what is a symbol? The linker wasn't able to successfully link the dynamic libraries correctly? (Incorrect correspondence between in-program link and the actual link library?)
WPILib is compiled and on the robot. It exposes its functions, so you can compile your program with the WPILib headers on your computer, copy the program to the cRIO, and then the linker will move the references from the WPILib headers to the actual WPILib functions. If the linker cannot find the function you are calling, it will throw a undefined symbol error

If you call a old function from an old version of WPILib (assuming you have the right headers), it will compile fine, but linking will throw lots of symbol errors.

this can also be an artifact of a c++ feature: every cpp file is compiled by itself, and then linked together at the end, so when you change a file, only the changed file has to be recompiled. sometimes when you update, a file is not recompiled with the new changes, so it can also throw the error
the best way to twart this is to recompile the project (solved all of our symbol errors this year): right click the project and click rebuild
Quote:
Originally Posted by masoug View Post

So apparently, this is my to-do list:
1) Check "No App" switch.
2) Reformat/reimage cRIO. (v20)
3) Run WindRiver updates. (4.3)
4) Run driver station updates.
5) Load new code. Hope it works!
I would change that to:

1) Check "No App" switch.
2) Reformat/reimage cRIO. (v20)
3) Run WindRiver updates. (4.3)
4) Run driver station updates.
5) restart driverstation, restart cRIO, restart WindRiver
6) rebuild (right click project, rebuild)

7) Load new code. Hope it works!
__________________
Bubble Wrap: programmers rewards
Watchdog.Kill();
printf("Watchdog is Dead, Celebrate!");
How to make a self aware robot: while (∞) cout<<(sqrt(-∞)/-0);
Previously FRC 451 (The Cat Attack)
Now part of the class of 2016 at WPI & helping on WPILib
Reply With Quote