You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
To figure out what libraries a sketch needs, it is processed by the gcc preprocessor, and its error output is analyzed to figure out what header file is missing. Normally, the compiler outputs an error message followed by the actual source line that has the error, like:
/path/to/foo.ino:1:22: fatal error: somefile.h: No such file or directory
#include <somefile.h>
^
By matching these lines for #include, the missing filename is found.
However, older compilers do not include this source line, but just the error message:
/path/to/foo.ino:1:22: fatal error: somefile.h: No such file or directory
Currently, there is a fallback that splits on a colon, looks for "fatal error" and then returns the next part of the error message as the filename. This seems to work so far, but is also fairly fragile to changes in the error message.
A better approach might be to instead look at the /path/to/foo.ino:1:22 part (which I expect to be more reliable), load the named file, look up the given line number and see if there is any #include in that line. I believe that would be more reliable, and would make the fallback processing more in-line with the normal processing (by scanning for #include).
The text was updated successfully, but these errors were encountered:
To figure out what libraries a sketch needs, it is processed by the gcc preprocessor, and its error output is analyzed to figure out what header file is missing. Normally, the compiler outputs an error message followed by the actual source line that has the error, like:
By matching these lines for
#include
, the missing filename is found.However, older compilers do not include this source line, but just the error message:
Currently, there is a fallback that splits on a colon, looks for "fatal error" and then returns the next part of the error message as the filename. This seems to work so far, but is also fairly fragile to changes in the error message.
A better approach might be to instead look at the
/path/to/foo.ino:1:22
part (which I expect to be more reliable), load the named file, look up the given line number and see if there is any#include
in that line. I believe that would be more reliable, and would make the fallback processing more in-line with the normal processing (by scanning for#include
).The text was updated successfully, but these errors were encountered: