Forum: Mikrocontroller und Digitale Elektronik MPLABX: Header- und Source-Files werden auf einem anderen PC nicht erkannt


von Patrik7 (Gast)


Lesenswert?

Hallo,

ich habe ein Projekt auf MPLAX erstellt und bereits ein Programm 
geschrieben. Dieses beinhaltet mehrere C sowie h-Files. Ich habe bisher 
keine Fehlermeldung erhalten.

Als ich jedoch das gleiche Projekt auf einem anderen PC geöffnet habe, 
konnte MPLABX ein paar der Header- und Source-Files nicht richtig 
erkennen. Zu sehen war ein seltsames Symbol. Daraufhin musste ich diese 
vom Projekt entfernen (Remove from Project) und anschließend neu 
hinzufügen (Add existing Item).

Weiß jemand, warum solche Fehler passieren können, wenn man das Projekt 
an einem anderen PC öffnet?

Ein weiteres Problem das ich habe: <GenericTypeDefs.h> wird überhaupt 
nicht gefunden (Cannot find include File).

Danke für eure Hilfe!

von Volker S. (vloki)


Lesenswert?

Wie meinst du das, dass du das gleiche Projejkt auf einem anderen PC 
geöffnet hast?
Das selbe (am selben Ort) oder eine Kopie?
Waren auf den PCs die gleichen Versionen von IDE und Compilern 
installiert?

von Patrik7 (Gast)


Lesenswert?

Danke für deine Antwort Volker,

>Wie meinst du das, dass du das gleiche Projejkt auf einem anderen PC geöffnet
>hast? Das selbe (am selben Ort) oder eine Kopie?<
Ich habe auf meinem Stand-PC begonnen zu arbeiten. Da ich dann auf 
meinem Laptop weiter arbeiten wollte, habe ich das Projekt auf einen 
USB-Stick kopiert un anschließend wiederum die Datei lokal auf meinem 
Laptop zu kopieren.

>Waren auf den PCs die gleichen Versionen von IDE und Compilern installiert?
auf meinem Stand-PC ist die IDE v2.30 und auf meinem Laptop v3.35 
installiert. Auf beiden ist allerdings der gleiche Compiler vorhanden!

von Hanswurst (Gast)


Lesenswert?

Das wäre vielleicht mal die Gelegenheit, in diesem Punkt die Aufgabe von 
IDEs näher anzuschauen.

Sie sind nicht einfach Texteditoren, soviel weißt Du schon.

Aber diese "Projektverwaltung" aus der Du komische Symbole entfernst :-) 
hat auch kein irgendwie allgemeingültiges (oder sogar standardisiertes) 
Verhalten. Vor allem nicht zwangsweise über Versionen hinweg.

Jedenfalls hat die Projektverwaltung nichts mit dem Compiler zu tun. Sie 
erledigt lediglich die Aufteilung der Arbeit des Compilers. Der Compiler 
weiß nichts über die Projektaufteilung (abgesehen von den Pfaden auf die 
C-Standard-Includes).

In der Regel (ich kenne MPXLAB nicht) erzeugt die Projektverwaltung aus 
seinen Informationen (die von Dir stammen) make-files. Aber sie könnte 
auch ein make emulieren.

Lies Dir doch mal die Beschreibung dazu durch. Es könnte lehrreich sein, 
mal die beiden Versionen zu vergleichen.

Jedenfalls nochmal kurz:
1. Projektverwaltung != Compiler
2. Verschiedene Versionen, egal um was es geht. => ACHTUNG! Alles kann 
so weiterlaufen, muss aber nicht.

von Volker S. (vloki)


Lesenswert?

Patrik7 schrieb:
> Da ich dann auf
> meinem Laptop weiter arbeiten wollte, habe ich das Projekt auf einen
> USB-Stick kopiert un anschließend wiederum die Datei lokal auf meinem
> Laptop zu kopieren.

Wie hast du denn das Projekt oder die "Datei" kopiert?
So? http://microchip.wikidot.com/mplabx:projects-package

von Patrik7 (Gast)


Lesenswert?

Volker schrieb:
>Wie hast du denn das Projekt oder die "Datei" kopiert?
>So? http://microchip.wikidot.com/mplabx:projects-package

Nein, das habe ich nicht gekannt. Dieser Tipp könnte jetzt sehr nützlich 
sein. Muss ich ausprobieren! Danke

von Volker S. (vloki)


Lesenswert?

"Package" ist meiner Meinung nach sehr viel besser geeignet als "Copy"
Probier mal beides aus und schau dir das Ergebnis an ;-)

Es gibt im gleichen Menü auch noch einen Eintrag "Locate Headers".
Das lohnt möglicherweise auch noch vor dem Packen.

von Klaus (Gast)


Lesenswert?

Patrik7 schrieb:
> Ich habe auf meinem Stand-PC begonnen zu arbeiten. Da ich dann auf
> meinem Laptop weiter arbeiten wollte, habe ich das Projekt auf einen
> USB-Stick kopiert un anschließend wiederum die Datei lokal auf meinem
> Laptop zu kopieren.

Ich arbeite fast immer auf mehreren Rechnern am gleichen Projekt, mache 
das aber anders. Wenn ich zum ersten Mal auf den zweiten Rechner gehe, 
lege ich dort ein neues Projekt mit dem gleichen Namen an. Dann kopiere 
ich nur Source und Headerfiles dorthin und füge sie dem Projekt hinzu. 
Die dabei entstehenden Projektfiles spiegeln die unterschiedlichen 
Umgebungen auf den verschiedenen Rechnern wieder. Wenn ich dann noch 
Sourcen und Header über eine Versionskontrolsystem synchronisiere, kann 
ich beliebig auf zwei oder mehr Rechnern an einem Projekt arbeiten, 
selbst mit leicht unterschiedlichen Versionen von der IDE oder dem 
Compiler.

MfG Klaus

von Steffen R. (steffen_rose)


Lesenswert?

Da du mit der IDE arbeitest, sind die Projektdateien relevant. Und deine 
Projektdateien sind für eine viel ältere Version der IDE als du sie nun 
verwenden willst.
Ich könnte mir vorstellen, dass die Probleme zunehmen, wenn du zurück 
auf deinen PC gehen willst.

Und was heißt genau:

Patrik7 schrieb:
> konnte MPLABX ein paar der Header- und Source-Files nicht richtig
> erkennen.

Ein "paar" deutet für mich eher darauf hin, dass diese einen anderen 
Pfad haben als die, bei denen es funktioniert? Oder für einige Dateien 
wurden absolute Pfade genutzt, die beim Laptop anders sind.

Desweiteren ist zwischen Workspace und Projekt zu unterscheiden. Was 
heißt in dem Zusammenhang - alles kopiert.

Pfad-Korrekturen, falls diese notwendig waren, funktionieren tendenziell 
eher für Dateien unterhalb der Projektdatei. Eher nicht für Dateien aus 
dem Workspace oder außerhalb des Projektes.

MPLABX generiert sich die Makeumgebung selbst. Gerade, bei einem Wechsel 
des Rechners und der Version muss diese neu gebildet werden. Ich gehe 
aber mal davon aus, dass du ein komplettes Clean/Rebuild gemacht hast, 
bevor du hier schreibst.

Patrik7 schrieb:
> Ein weiteres Problem das ich habe: <GenericTypeDefs.h> wird überhaupt
> nicht gefunden (Cannot find include File).

Findest du sie denn manuell? Dann die Inkludepfade prüfen.

Nebenbei: Welche Prozessorfamilie nutzt du?

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.