4 years, 11 months ago.

Why does MCIFileSystem remain abstract?

I can build and run lpc4088_ebb_ptp when imported as a unit. I made edits to main.cpp to deal only with the MCI SD card file system. It builds and runs fine.

But when I start with a fresh program, importing just EALib and SDFileSystem, the declaration instantiation in TestFileSystemMCI.cpp ("MFileSystem mcifs("mci", NC);") leads to the following error: "Object of abstract class MCIFileSystem not allowed" along with complaints about MCIFileSystem hiding two FATFileSystem methods (see image).

Why is MCIFileSystem abstract here but not when built in the original lpc4088_ebb_ptp? Have I left out an implementation class?


Question relating to:

A library with drivers for different peripherals on the LPC4088 QuickStart Board or related add-on boards. LPC4088

1 Answer

4 years, 11 months ago.

I don't have much to go on here, but my best guess is incompatibility between the used libraries "mbed", "EALib" and "SDFileSystem".

I suggest that you import the lpc4088_ebb_ptp and remove everything unwanted and then test if it still works. If it does then write down the versions of each of the used libraries in the project (i.e. "mbed", "EALib" and "SDFileSystem").

Then go to the project that doesn't work and compare the library versions there. You will probably find some discrepancy there. You can always select which version to use of a library by selecting it, go to the Revisions tab and then select the switch option.

Anders @ Embedded Artists