Question

PC-A is used for crosscompiling application APP (application which is cross compiled) for DEV-B (some non x86 embedded device). APP uses some C system libs to run properly. PC-A has all the header files for the libraries available on DEV-B.

Once APP is cross compiled and executable is created that is migrated to DEV-B and run there. Once run on DEV-B, APP is using the system libs (the actual binaries) from DEV-B.

APP can't be run on PC-A, and the system libs already exist on DEV-B. Why are the cross compiled system libraries required on the PC-A?

Was it helpful?

Solution

You need all the cross compiled libraries to be able to link your application against. System libraries are part of the toolchain and third party libraries are usually placed in so called staging directory. Take a look at such embedded Linux distributions as Buildroot or OpenWrt.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top