Use case: Build an application that runs on a Windows Intel PC and on a Linux ARM (Raspberry Pi, BBB, ...), using 3rd party libraries.

In my case: I want to use a USB NFC card reader that comes with precompiled Linux lib and Windows DLL.

Let's say you want to make a program that

  • runs on both platforms
  • uses a single Eclipse project, on a windows laptop
  • uses the GCC toolchain
  • can be built on that Windows Eclipse, for both targets
  • can be debugged on that Eclipse platform, for both targets
  • has a single source of code with (please) no conditional parts in the source.
  • can make a debug and a release binary of the deliverable

 

I've been able to create such a project, and will post the steps and settings.

I'll walk through the process. It's not complex, but you need to be precise.

For the impatient, I attached the initial Eclipse Project.

 

Here's a proof of concept.

The project being debugged locally on the development PC:

The same project being remotely debugged on Raspberry Pi family, from that same Eclipse session:

 

related blog
Part 1: preview
Part 2: start multi-target project
Part 3: debug on both platforms
Part 4a: link 3rd party library on Linux ARM
Part 4b: link 3rd party library on Windows