Compiler directives seem not working well in uses clauses, this is already a very "old" issue, and mentioned before -- as a sideeffect of something else -- but I could not find back where:
Code: Select all
uses
{$IFDEF SDMMC_Yo2lio}
SDMMC_SPI1
{$ELSE}
__Lib_Mmc // original mE lib
{$ENDIF}
, BitUtils;
In above uses clause only one of two units are used: either "SDMMC_SPI1" or " __Lib_Mmc". If however "SDMMC_Yo2lio" is not defined then still the file "SDMMC_SPI1" is compiled (the source file is available), and if the source file (or the .mcl) is not found then an error '
file "SDMMC_SPI1" not found' is given.
Please make it so that a unit in the "not defined" part of a uses clause has no effect at all, it should be ignored completely: it should not be compiled or searched for.
I think all text in a "non defined" part of an "$IFDEF" clause should always be treated as comments.
p.s. - In the case above the unit "SDMMC_SPI1" was also not in the project manager's source files.
- I have "rebuild all sources" always on.
Thanks in advance!
Kind regards, Dany.
Forget your perfect offering. There is a crack in everything, that's how the light gets in... (L. Cohen)
Remember when we were young? We shone like the sun. (David Gilmour)