Before logging an issue, please update to the latest release of Visual Micro from the Downloads Page.

When Logging a Support Issue in the Forum, please ensure you have also:-

  • Enabled vMicro > Compiler > Show Build Properties
  • Re-Compile your program with these settings enabled
 
Save the new Output to a Text File and....
  • Click the Reply button and attach as .txt file OR
  • Click here to Email us with the file attached, and a link to your post
Support requests without the output above may be impossible to answer, so please help us to help you
 
Page Index Toggle Pages: 1 Send TopicPrint
Normal Topic VM cannot find some libraries (Read 2191 times)
John Fitter
Junior Member
**
Offline


Posts: 26
Location: Australia
Joined: Mar 2nd, 2013
VM cannot find some libraries
Mar 3rd, 2018 at 5:14am
Print Post  
Without warning VM has lost visibility of all libraries where the source resides in <libname>\src.

The Arduino IDE has no problems and those libraries are listed by Arduino.
It is only VM that is unable to see the libraries.

I can find no discussion of this problem anywhere. Does anyone have an answer?
  
Back to top
 
IP Logged
 
Tim@Visual Micro
Administrator
*****
Offline


Posts: 12191
Location: United Kingdom
Joined: Apr 10th, 2010
Re: VM cannot find some libraries
Reply #1 - Mar 3rd, 2018 at 1:39pm
Print Post  
There must be more to it than that.

Please switch on vmicro>compiler>verbose and also "show build properties" then click Build>clean then click Build.

Post the output as a .txt file here or email to info[at]visualmicro.com along with link to this post
  
Back to top
IP Logged
 
John Fitter
Junior Member
**
Offline


Posts: 26
Location: Australia
Joined: Mar 2nd, 2013
Re: VM cannot find some libraries
Reply #2 - Mar 3rd, 2018 at 3:32pm
Print Post  
Found the problem but it took a lot of hunting down on the net.

All of the "invisible" libraries had /library.properties "architectures" defined as something other than arduino, such as sam.
Changing to "architectures=*" fixed the problem.

So it is the library author's problem.
It appears the arduino ide has preempted this and all new libraries have this wildcard spec.

Note, the libraries were not invisible to the arduino ide, only to vm.
  
Back to top
 
IP Logged
 
Tim@Visual Micro
Administrator
*****
Offline


Posts: 12191
Location: United Kingdom
Joined: Apr 10th, 2010
Re: VM cannot find some libraries
Reply #3 - Mar 3rd, 2018 at 3:49pm
Print Post  
Ah well done.

There is a bit of a story to that and yes you are kind of right. There are many older libs that were designed and correctly specified at time of writing (or testing). Setting the architecture= was the right thing to do. However life moves on and it turns out the same code still works for other architectures that the original author has not tested for.

Therefore recent builds of arduino and visual micro have continued to filter the visible library lists by architectures= however the build process should ignore it and fall back to using the library if only one copy is installed. This means that adding #includes manually should build okay but the menus will not list the library.

A further complication in Visual Micro has been resolved via another thread today with a fix for release over the next few days. In this case, visual micro failed to use the library if the internal platform name was not defined as lowercase (ie: we needed arduino instead ARDUINO, or stm32 instead of STM32. This wasn't relevant in your case but worth a mention.

Thanks for the update and yes the simple answer would be for lib authors to make the update. It's a problem!


« Last Edit: Mar 3rd, 2018 at 4:03pm by Tim@Visual Micro »  
Back to top
IP Logged
 
Page Index Toggle Pages: 1
Send TopicPrint