user73441: I created 4 libraries, each in .h and .cpp files, and tested them individually. I kept the project flexibility by defining 3 flags that allow or disallow the usage of the libraries.
When integrating them into project I received linking errors.
During the debugging I reduced it to minimum - a single .ino file that contains the minimal declarations and calls; but the error messages are still fired.
I looked at the shrunk code (only 63 lines!) and saw no issue. I'd appreciate any help in finding the issue.

The code:
#define RadioIncluded  
#define IrrigationStation  
#define RTCincluded  

/********************************************/

#ifdef RTCincluded  
  class rtcHighLevel
  {
    public: 
      String rtcInterpreter(String cmd);
  };
  rtcHighLevel rtc;
#endif

#ifdef IrrigationStation
class measureEC
{
  public:
  void   initMeasurementStation ();
    String SD12_Parser (String commandLine);
};
  measureEC soilParams;

class valveControl
{
  public:
    void   valveInit();
};
  valveControl valve;
#endif

#ifdef RadioIncluded  
  class LoRaAddClass
  {
    public:
      void   LoRaBegin(long BAND);
  };
  LoRaAddClass LoRaAdd;
#endif

/*********************************************************/
void setup() {
  Serial.begin(9600);
  while (!Serial) {};

#ifdef RadioIncluded  
  LoRaAdd.LoRaBegin(915000000);
#endif

#ifdef IrrigationStation  
  valve.valveInit();
  soilParams.initMeasurementStation();
#endif

#ifdef RTCincluded  
  String s = rtc.rtcInterpreter("A");
#endif
}
/*********************************************************/
void loop() {}


user73441: Solved: while initially I devoted sub-directory for every class, no issues when all the classes were brought to the same folder with the INO file all the issues disappeared. Is this a known issue?

73441: <p>I created 4 libraries, each in .h and .cpp files, and tested them individually. I kept the project flexibility by defining 3 flags that allow or disallow the usage of the libraries.</p>
<p>When integrating them into project I received linking errors.
During the debugging I reduced it to minimum - a single .ino file that contains the minimal declarations and calls; but the error messages are still fired.</p>
<p>I looked at the shrunk code (only 63 lines!) and saw no issue. I'd appreciate any help in finding the issue.
<a href="https://i.stack.imgur.com/0u39n.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/0u39n.png" alt="enter image description here" /></a></p>
<p>The code:</p>
<pre><code>#define RadioIncluded  
#define IrrigationStation  
#define RTCincluded  

/********************************************/

#ifdef RTCincluded  
  class rtcHighLevel
  {
    public: 
      String rtcInterpreter(String cmd);
  };
  rtcHighLevel rtc;
#endif

#ifdef IrrigationStation
class measureEC
{
  public:
  void   initMeasurementStation ();
    String SD12_Parser (String commandLine);
};
  measureEC soilParams;

class valveControl
{
  public:
    void   valveInit();
};
  valveControl valve;
#endif

#ifdef RadioIncluded  
  class LoRaAddClass
  {
    public:
      void   LoRaBegin(long BAND);
  };
  LoRaAddClass LoRaAdd;
#endif

/*********************************************************/
void setup() {
  Serial.begin(9600);
  while (!Serial) {};

#ifdef RadioIncluded  
  LoRaAdd.LoRaBegin(915000000);
#endif

#ifdef IrrigationStation  
  valve.valveInit();
  soilParams.initMeasurementStation();
#endif

#ifdef RTCincluded  
  String s = rtc.rtcInterpreter(&quot;A&quot;);
#endif
}
/*********************************************************/
void loop() {}
</code></pre>
 73441: <p>Solved: while initially I devoted sub-directory for every class, no issues when all the classes were brought to the same folder with the INO file all the issues disappeared. Is this a known issue?</p>
