Forum: Mikrocontroller und Digitale Elektronik MBLAB IDE hat sich verheadert


von Joachim (Gast)


Lesenswert?

Hi,
ich versuche mich gerade an Spruts USB-Projekt. Der Verzeichnisbaum 
sieht etwa so aus:

Projektverzeichnis\main.c
Projektverzeichnis\io_cfg.h
Projektverzeichnis\system\typedefs.h
Projektverzeichnis\system\usb\usb.h


Im c-file steht:
#include "system\typedefs.h"                        // Required
#include "system\usb\usb.h"                         // Required
#include "io_cfg.h"                                 // Required

io_cfg.h wird im Verzeichnis gefunden.

Dann bekomme isch aber krass Fehlermeldung:
Error [1027] unable to locate 'system\typedefs.h'
Error [1027] unable to locate 'system\usb\usb.h'

Komisch irgendwie. MPLAB ignoriert die angehängten Unterverzeichnisse.


Ich hab in den build options/Directories gesucht, dort läßt sich aber 
nur der Pfad für die mitgelieferten C18 Header wie #include <p18cxxx.h> 
einstellen, was Sinn macht...

Hab gestern n neues Win 7 draufgemacht, seitdem hab ich Malheur mit 
Schreibrechten (habs aber bisher nur auf ner externen Platte feststellen 
können). Gibt's da vielleicht n Zusammenhang zwischen den beiden 
Phänomen?

von ... (Gast)


Lesenswert?

Ersetz mal in den #include den \ durch /
Einige Compiler/Preprozessoren haben mit den Backslashes Probleme und 
der normale Slash funktioniert auch unter Windows

von Philipp F. (philipp5054)


Lesenswert?

... und MPlab mit leerstellen im Verzichnissen ...

von Loonix (Gast)


Lesenswert?

Joachim schrieb:
> Ich hab in den build options/Directories gesucht, dort läßt sich aber
> nur der Pfad für die mitgelieferten C18 Header wie #include <p18cxxx.h>
> einstellen, was Sinn macht...

Genauer bitte, davon habe ich in den vielen Jahren die ich diese IDE 
nutze noch nie was mitbekommen.

... schrieb:
> Ersetz mal in den #include den \ durch /
> Einige Compiler/Preprozessoren haben mit den Backslashes Probleme und
> der normale Slash funktioniert auch unter Windows

Dazu kann ich dasselbe sagen wie oben.

Philipp F. schrieb:
> ... und MPlab mit leerstellen im Verzichnissen ...

Und nochmal.

P.S. Habt ihr denn alle zeitgleich einen Sonnenstich?

von Joachim (Gast)


Lesenswert?

Danke für die Hilfe, aber dit issit nich.
Der Code stammt ursprünglich von ner AN von Microchip selbst, d.h. er 
sollte in seiner Originalform gehen; Sprut hat den Code nur an anderen 
Stellen erweitert. Daß der Code mit nem anderen Compiler als C18 erzeugt 
wurde glaube ich nicht, das würde gegen die Interessen von Microchip 
verstoßen... auch deutet darauf codespezifisch Nichts hin.
Leerzeichen hab ich keine in der Pfadbezeichnung. Eigentlich müssten 
dieses Prob noch mehr Leute gehabt haben, hab aber bei Goog nix 
gefunden. Vielleicht liegt der Fehler ja außerhalb von MBLAB.

von Joachim (Gast)


Lesenswert?

>> Ich hab in den build options/Directories gesucht, dort läßt sich aber
>> nur der Pfad für die mitgelieferten C18 Header wie #include <p18cxxx.h>
>> einstellen, was Sinn macht...


>Genauer bitte, davon habe ich in den vielen Jahren die ich diese IDE
>nutze noch nie was mitbekommen.


Wieso genauer?
Der dort eingetragene Pfad ist anwenderspezifisch, er ist auf jedem 
Rechner anders; früher z.B. lag das ganze Material in C:\C18, heutzutage 
in C:\Program Files\ etc. Wenn du ein Projekt aus dem Netz kompilieren 
willst hast du an dieser Stelle n Problem mit nicht vorhandenem c18i.0 
(oder so ähnlich)...

von Martin S. (drunkenmunky)


Lesenswert?

füg mal den die Ordner system und system/usb zu den "Search Path" hinzu.

Unter "Project" -> "Build Options" -> "Project"

Dann auf "Include Search Path" wechseln und die Ordner hinzufügen.

von Joachim (Gast)


Lesenswert?

>füg mal den die Ordner system und system/usb zu den "Search Path" hinzu.

Volltreffer. Danke!

von Loonix (Gast)


Lesenswert?

Joachim schrieb:
> Wieso genauer?
> Der dort eingetragene Pfad ist anwenderspezifisch, er ist auf jedem
> Rechner anders; früher z.B. lag das ganze Material in C:\C18, heutzutage
> in C:\Program Files\ etc. Wenn du ein Projekt aus dem Netz kompilieren
> willst hast du an dieser Stelle n Problem mit nicht vorhandenem c18i.0
> (oder so ähnlich)...

Falsch. Du sprichst vom gerade "Library Search Path", meinst aber den 
"Include Search Path". Die liegen einen Klick auseinander, daher habe 
ich mich erdreistet verwundert zu sein.

Joachim schrieb:
>>füg mal den die Ordner system und system/usb zu den "Search Path" hinzu.
>
> Volltreffer. Danke!

Siehste

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.