Hi, ich habe einige Funktionen in eine MyTools.h und MyTools.c ausgegliedert. Diese befinden sich in dem Verzeichnis: D:\AVR\C\MyTools Das eine Hauptprogramm befindet sich im Verzeichnis: D:\AVR\C\Projekte\PrgStepp Ein weiteres, welches ebenfalls auf die MyTools zugreifen soll, ist in: D:\AVR\C\Projekte\PrgTherm Soweit alles in Ordnung. :-) Im Atmel Studio 6.2 bin ich nun im Solution Explorer auf "Add existing file" und es wird auch hinzugefügt, allerdings wird die Datei NICHT verlinkt sonder aus D:\AVR\C\MyTools in den jeweiligen Projekt Pfad z.B. D:\AVR\C\Projekte\PrgStepp kopiert. Ich wollte das ich die MyTools "global" für alle Programme pflegen kann, das geht nun durch die Kopien nicht. Bin der Meinung das bei früheren Versionen genau das möglich war und bitte daher an dieser Stelle um Rat. Vielen Dank im Voraus, Grüße AVRli...
AVRli schrieb: > Im Atmel Studio 6.2 bin ich nun im Solution Explorer auf "Add existing > file" und es wird auch hinzugefügt, allerdings wird die Datei NICHT > verlinkt sonder aus D:\AVR\C\MyTools in den jeweiligen Projekt Pfad z.B. > D:\AVR\C\Projekte\PrgStepp kopiert. Das hast Du wie diagnostiziert? Dadurch, daß der Solution Explorer die Datei dort anzeigt, oder hast Du mit dem Explorer nachgesehen? Ersteres wäre ... unerwartet, das macht das Visual Studio nicht von sich aus. (Zugegeben, ich kenne es nur als reines Visual Studio)
Rufus Τ. Firefly schrieb: > Dadurch, daß der Solution Explorer die Datei dort anzeigt, oder hast Du > mit dem Explorer nachgesehen? Die Dateien werden in den Projektordner kopiert, das kann ich bestaetigen. War in Version 5 aber glaube ich auch schon so.
Rufus Τ. Firefly schrieb: > Das hast Du wie diagnostiziert? Ja es wurde irgendwie beim Doppelklick auf die Datei nicht die geänderte aufgemacht, sondern eben eine die völlig unberührt war. Da hatte ich einfach nachgesehen und in der Tat, die Datei wird in den Projekt Ordner kopiert. :-(
Project -> Properties und unter dem Reiter Toolchain -> Avr/Gnu C Compiler in Directories den Ordner angeben. Anschließend ganz normal die .h Datei mit #include einbinden. Sollte soweit funktionieren, habe es nur kurz getestet.
Holger L. schrieb: > Sollte soweit funktionieren Geht völlig am Thema vorbei. Oliver
:
Bearbeitet durch User
Oliver S. schrieb: > Geht völlig am Thema vorbei. Richtig... Dann erklär doch bitte mal was der Beitragsersteller genau machen möchte und was in meinem Beitrag am Thema völlig vorbei ging ?
Der Beitragsteller möchte wissen, wie er es hinkriegt, dass er sich auf seiner Platte ein Verzeichnis macht, auf dem er Codemodule ablegen kann und die er im Atmel Studio in ein Projekt reinziehen kann OHNE das im Atmel Studio diese Module von diesem Utility Verzeichnis aufs aktuelle Projektverzeichnis umkopiert. Im Grunde will er sich eine zentrale Source-Code Library zur Einbindung in Projekte aufbauen. Dieselben Codemodule in mehreren Projekten, aber immer der gleiche Code, so dass Codekorrekturen, die im Zuge eines Projektes anfallen automatisch auch den anderen Projekten (nach neukompilierung selbstverständlich) zu gute kommen. Nur dass ihm da das Studio einen Strich durch die Rechnung macht, indem es den Code eben nicht von diesem zentralen Verzeichnis holt und durch den COmpiler jagt, sondern den Source Code zum Projekt herkopiert. Ich hab darauf auch keine Antwort. Im original Visual Studio ist das kein Problem. Man kann die Source Code Quellen aus unterschiedlichen Verzeichnissen zusammentragen und der Source Code bleibt auch an der originalen Stelle. Auch mit dem alten AVR-Studio war dieses Thema kein Problem.
Holger L. schrieb: > Sollte soweit funktionieren Nee das ist nicht das Problem... ;-) Der Compiler/Linker findet schon alles das Problem ist das jede Datei die per "Add exists File" in den "Solution Explorer" hinzugefügt wird, vom eigentlichen Ort auf der Platte in den aktuellen Projekt Ordner kopiert wird. Ich möchte keine 5 Dateien pflegen, sondern nur eine MyTools... Oliver S. schrieb: > Geht völlig am Thema vorbei. Hat somit schon recht...
Genau so hatte ich das verstanden. Wenn er nun den Pfad D:\AVR\C\MyTools wie oben beschrieben in verschiedenen Projekten angibt kann er sie Verwenden ohne das sie in das aktuelle Projektverzeichnis kopiert werden und es bei Aktualisierungen zu Problemen kommt. Wenn er Änderungen vornehmen möchte muß er es in dem D:\AVR\C\MyTools Verzeichnis erledigen.
Dann sieht er die Dateien aber nicht in der IDE --> unbrauchbar.
Den Text "MyTools.h" in #include <MyTools.h> mit einem Doppelklick markieren, Rechtsklick -> Goto Implementation. Eine delay.h sieht man auch nicht im Solution Explorer.
So Leute, haltet Euch fest... Es klappt nun aber das kann man auf dem ersten Blick nicht sehen!!! - im Solution Explorer auf das Projekt rechts klicken - Add --> Existing Item - Datei anwählen und nun!!! Neben dem "Add Button" auf den Pfeil drücken --> "Add as Link" Dadahhh Dann wird eine Verlinkung im Solution Explorer eingefügt! ;-) Logisch ist anders... Danke dennoch an Alle!
Holger L. schrieb: > Wenn er nun den Pfad D:\AVR\C\MyTools wie oben beschrieben in > verschiedenen Projekten angibt kann er sie Verwenden Das funktioniert nur für headerfiles, nicht für sourcefiles. Oliver
Übrigens wenn man doch die Dateien (und auch ganze Ordner) kopieren und nicht nur verlinken möchte (aus welchen Gründen auch immer), dem könnte dieses Video behilflich sein: http://youtu.be/n_IvIQeRaCo Drag and drop aus dem Windows-Explorer in den Project-Explorer von AS, wie es laut Stackexchange-Thread für VS gehen soll, geht nämlich für AS nicht. Ich kenne Leute, die tatsächlich bisher komplette Verzeichnisstrukturen in AS neu angelegt haben um dann nur die Dateien per "Add->Existing Item" ins Projekt zu bekommen. Sisyphos lässt grüßen ;)
Ich werd nie verstehen was Leute dazu bringt Videos zu Dinge zu machen, die man in 3 Sätzen erklärt...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.