Dynamic Libraries

The EV3 Linux kernel does not include the libstdc++.so.6.0.10 library (click on VIEW RAW to download) that Robot Navigation requires to operate. However this library can be copied into the micro-SD card and loaded as needed. Users that want to try this method can compile the program without adding the -static flag in the Makefile (Linux) or EV3 preferences (Bricxcc). The resulting executable file is significantly smaller. In order to use this option, the operating system must be instructed to add the path containing the library before running the main program as follows:

export LD_LIBRARY_PATH="/media/card/lib/:$LD_LIBRARY_PATH"

This instruction assumes that the file libstdc++.so.6.0.10 is copied inside the /media/card/lib/ directory. This needs to be called every time a new telnet or ssh session is created. Users that may want to use the EV3 menu can load the library and run the program with a single instruction:
export LD_LIBRARY_PATH="/media/card/lib/:$LD_LIBRARY_PATH" && ./main

Next >> Program Structure