Gast
#4631925
Hallo zusammen, ich habe ein Problem und weis momentan nicht wie ich es richtig angehen soll. Es geht um den Linkeraufruf meiner Projekte. Bisher bin ich immer gut klargekommen. Setup: Windows. Linux ist leider keine Option. Eclipse GNU ARM Toolchain Platformen sind unterschiedliche STM32-Cortex Derivate Das Kernproblem ist nicht mein Projekt sondern Windows. Eclipse ruft die Buildtools per Kommandozeilenbefehl auf. Zunächst habe ich die Grenze von 81xx Zeichen als Übergabeparameter erreicht. Damals lief alles über den internen CDT Build. Damals habe ich dann die unten beschriebenen Buildtools verwendet und somit zunächst mein Problem behoben. https://mcuoneclipse.com/2015/03/29/solving-the-8192-character-command-line-limit-on-windows/ Was ich damals nicht wusste, ist das Windows aus irgendwelchen Gründen ein absolutes Call Limit für jedwelche Aufrufe hat (100% bin ich mir nicht sicher). Bei 31k Zeichen geht auf jeden fall garnichts mehr. :-( Eclipse ruft den linker jetzt zwar über die Buildtools auf aber übergibt nach wie vor alle Objektfiles zusammen als einzelnen Parameter. Aufgrund von Windows ist daher bei ca. 31k Zeichen tutti. Es kommt zum Programmfehler und der Linkprozess schlägt fehl. Es gibt jetzt mehrere Möglichkeiten um das Problem zu lösen. Wie gesagt, Linux ist nicht möglich. 1. Vielleicht muss muss ich mich jetzt intensiv mit Makefiles beschäftigen. Ich finde das Thema aber ziemlich öde und muss sagen, dass ich es echt angenehm fand, dass eclipse mir das abnimmt. Da wird ja ein makefile generiert und anhand dessen der erstellt. 2. Ein Problem dabei ist sicherlich auch, dass die Ordnerhirachie beim erstellen der Objectfiles genau gleich ist wie beim Projekt und sich deshalb die Aufrufe verlängern (Die Pfade werden aus dem Root zusammengebaut). Vielleicht bekomme ich es hin, dass alle Objects in einen Ordner geschmissen werden...? Was ich auf keinen Fall möchte, ist jedes mal wenn das Projekt wächst irgendwas hinzufügen... Kennt jemand für Make eine gute Hilfe Buch Tips wie ich das Thema am schnellsten reinbekomme? Vielleicht gibts auch Tools die von Eclpise unterstützt werden? 3. Ich könnte große Module in Libs packen. Aber auch da komme ich an die Grenzen z.B. wenn ich externe Grafikbibliotheken einbinden will.. Gibt es vielleicht noch andere Möglichkeiten? Wie löst ihr dieses Problem unter Windows? Vielen Dank für eure Anregungen. Falls noch Infos fehlen kann ich die Gerne noch nachreichen... Grüße EL