Probleme mit Headerdateien aber nur unter Windows

Hallo,

da ich beruflich und privat (fast) nur Linux verwende habe ich natürlich auch die Arduino IDE
unter Linux in Gebrauch. Letzte Woche habe ich mir mal eine neue SSD gegönnt und die alte
ist zum "Fastbackup-Medium" in meinem CD-Schacht am Notbook geworden. Da die Backupplatte
jetzt so horrend viel Speicher hat dachte ich mir ich bau da doch mal ein echtes WIN 10 drauf.
Manchmal mache ich Hardwareexperimente die bei einem virtuellen Windows halt nicht funktionieren.

Nu, wenn es schon mal da ist habe ich die Gitkrake (Frontend für Git-Versionsverwaltung) und
auch die selbe Arduino IDE wie unter Linux installiert. Mein Sketchbook via GIT auf das Windows
gebracht (mit allen Libs) und auch den Lib-Ordner unter der IDE auf den gleichen Stand wie unter
Linux gebracht (ist historisch das ich da Änderungen habe, ist aber nicht viel).

Ich hatte dann noch um Arbeit zu sparen den Arduino15 Ordner vom Linux rübergenommen ->
das ging natürlich nicht weil da natürlich Compiler für Linux drin waren die unter Win natürlich nicht
laufen wollten. Also in aller Ruhe alle anderen Hardwaren installiert (MightyCore,Tiny,ESPs...).

Jetzt komme ich endlich zum Thema : Der Stand sollte jetzt gleich wie unter Linux sein.
Das Meiste compilierte auch (vor Allem die ganzen ESP Sachen). In einigen Sketchen hatte ich
aber Probleme mit Zeitfunktionen. So wurden now(), seconds() oder auch so was wie SetTime() nicht
gefunden.

Habe lange gesucht warum : Problem es gibt diverse Time.h im System (war nie ein Problem). Aber
unter /hardware/tools/avr/avr/includen gibt es die time.h des Compilers (man achte auf Groß/Klein-Schreibung). Unter Linux kein Problem da wird das ja unterschieden.
Aber unter Windows gibt es halt Probleme da die "time.h" des Compilers grundsätzlich genommen
wird. (habe ich jetzt lange nach gesucht). Nach Umbenennen der "time.h" war alles OK.

Ich habe natürlich bei weitem nicht alle Sketche probiert und nehme stark an das es irgendwo
Probleme geben wird.

Wie habt ihr dieses Problem gelöst ?? (Ist für mich kein wirkliches da ich weiter unter Linux
arbeiten werde). Aber es interessiert mich halt.

Ulli

Hi

Ich nutze die IDE in einer Win7 VM, da mir die Linux-IDE nicht sonderlich zusagte (soll aber besser geworden sein).
Bisher waren alle Warnungen oder gar Fehler auf meinem Mist gewachsen - mehrfach vorhandene Libs werden angezeigt und was davon benutzt wird.
Aktuell habe ich noch zwei ungültige Header-Files - ohne rote Schrift ist's immer so eintönig (oder: bisher zu faul, Das anzugehen - keine Probleme deswegen).

Jupp, die Arduino-IDE ist auf Linux noch installiert, aber seit Ewigkeiten nicht mehr benutzt - könnte Die also auch Mal entsorgen.
Da ich Win für CNC eh als VM laufen habe und mir die IDE in Win nicht unangenehm auffällt - warum sollte ich die Linux-IDE verwenden, wenn ich mit dem Kram, schön in der VM eingehaust, zurecht komme?

long story short: keine Probleme mit mehrfachen Files.

MfG

Schwer OT:
Ein Freund hat gerade Ärger mit einer neuen Kiste. Was außer GRML ist für Forensik-Spielereien geeignet? Was für eine VM-Software unter Linux ist für ein virtuelles Windows geeignet? Benutzt man da qemu oder das komfortablere vmware?

Wieder OnT:

Kann man derlei Ärger nicht mit Compiler-Switches erschlagen?

Gregor

Privat nutze ich das kostenfreie VirtualBox. Beruflich VM-Ware.

Kann über beides nichts schlechtes sagen.

QEmu brauchst du wenn du auch noch eine Fremde CPU im Zielsystem hast.
Ist aber ungleich komplizierter zu konfigurieren.

Bei VirtualBox und VMWare must du zum Installieren nur eine CD oder ein ISO-Image mounten
und schon kannst du ein Gastsystem installieren.

Ulli

Hi

Ebenfalls VirtualBox - ggf. in der Standard-Linux-Installation bereits enthalten - bis auf LinuxCNC läuft bisher Alles ohne größere Probleme. (zum Simulieren, gröbste Schnitzer erkennen)
Gemeinsame Ordner bzw. STRG+C im Einen, STRG+V in anderen System lassen Daten hin und her wandern.
Je nach System kann man die Gasterweiterung installieren, Welche einem den Mauszeiger freiwillig wieder zurück gibt, wenn man Diesen aus der VM heraus bewegt - sonst muß man sich erst von der VM lösen (Standard STRG rechts).
Man kann Sicherungspunkte erstellen, bevor man was installiert und schadfrei auf den Ur-Zustand zurück kehren

Mit QEmu kam ich nicht zurecht.

MfG

beeblebrox:
Kann über beides nichts schlechtes sagen.
QEmu brauchst du wenn du auch noch eine Fremde CPU im Zielsystem hast.
Ist aber ungleich komplizierter zu konfigurieren.

Mit qemu arbeite ich seit Jahren. Ja, man muss wissen, wo man die richtigen Informationen findet und es gibt ungefähr 1 Zilliarde Optionen, Parameter und Schnickschnack. Mir ging es zu Anfang meiner Nutzung aber darum, wirklich jeden ('tschuldigung) Furz konfigurieren zu können, weil ich viele verschiedene Netzwerk-Setups (aller damals aktuellen OSe) simulieren können wollte. Die älteste VM, die ich habe, ist mein damaliges „Hauptsystem“ von vor > 10 Jahren (IIRC Debian 5).

Zurück zu Deiner Frage: Wenn ich mir http://.../Directory-Options.html#Directory-Options ansehe, müsste Dein Problem doch ziemlich leicht mit einer Option des Compilers zu erschlagen sein. Ich kenne gcc allerdings nur unter Linux und habe mit Windows seit bald 15 Jahren nichts mehr zu tun.
Hattest Du auch mit dieser Option experimentiert?

Gruß

Gregor

Das mit den Options schaue ich mir mal an.
Wie gesagt, mir war gar nicht bewusst das ein Problem existiert weil es durch Groß/Kleinschreibung
unter Linux gar nicht erst auftritt.

Ich dachte nur, da es ja so einige "Time.h"'s gibt das schon mal jemand anderes drauf reingefallen
wäre.

Eigentlich hätte mir klar sein sollen das der Compiler seine eigene "time.h" hat. Das ist glaube
ich auch der Grund warum alle anderen libs die groß schreiben.

Ist wie gesagt auch kein Problem für mich weil ich i.A. unter Linux arbeite. Aber ich bin halt
neugierig (und bei mir muss immer alles korrekt funktionieren auch wenn ich es gar nicht
brauche (was habe ich da schon Zeit mit verplempert, aber man weiß nie wofür es gut ist :grin: )

Ulli

Hallo,

vielleicht haste nur vergessen die passende Lib zu installieren.

Nein Nein,

alle Libs sind da. Ich habe ja sowohl den Library Ordner vom Sketchbook (überhaupt das ganze Sketchbook) kopiert. Und auch die Libs im Arduino Ordner habe ich mit meiner
Linuxinstallation abgeglichen.

Das ist ja eben das Problem. Die von dir verlinkte lib hat ein Time.h. (Großes T)
Unter "hardware/tools/avr/avr" ist eben immer auch noch die des Compilers time.h (Kleines T).

Unter Windows ist das halt identisch ! Und von der Reihenfolge her holt der Compiler sich
zuerst die mit dem kleinen t.

Da kann ich installieren was ich will.

Ulli

Die Time.h von Paul Stoffregen ist nur ein Include auf "TimeLib.h". Ich verwende diese immer direkt.

Gruß Tommy

Dann klappt es natürlich.

Ulli