Archiv verlassen und diese Seite im Standarddesign anzeigen : C++ ?, Target im Source ?
moin moin,
auch auf die Gefahr hin RTFM oder 'google doch' zu bekommen hier zwei Fragen zu WinAVR:
1) Wie kompiliere ich ein C++-Sourcefile ? Habe das File als .cpp gespeichert und im Makefile als Target .cpp eingestellt. Der Compiler meckert dann 'missing separator' in einer der ersten Sourcezeilen.
2) Ist es möglich im Sourcefile die TargetCPU (also nicht im makefile) anzugeben ?
Besten Dank für alle (auch nicht konstruktive) Antworten ;-)
ciao .. bernd
Hi, normalerweise is ja in der Source irgendein CPU-spezifischer include. Was mault er denn genau ? hat er vielleicht recht ? mfg robert
bluebrother
26.01.2005, 12:25
Ist es möglich im Sourcefile die TargetCPU (also nicht im makefile) anzugeben
ich habs nie probiert aber ich könnte mir denken dass das mit einem #define geht. Aber wofür solltest du sowas machen wollen?
Ist es möglich im Sourcefile die TargetCPU (also nicht im makefile) anzugeben
ich habs nie probiert aber ich könnte mir denken dass das mit einem #define geht. Aber wofür solltest du sowas machen wollen?
Ich baue einen Roboter mit 3 Prozessoren (2xMega8, 1xMega32) und jeder bekommt natürlich ein anderes Programm. Da ich meist an allen Programmen (fast) gleichzeitig arbeite, vergesse ich meist das target im makefile zu ändern und wundere mich dann warum es nicht geht. Da jedes Programm nur für einen Prozessor gedacht ist, könnte ich diese Fehlerquelle durch ein "Festverdrahtung" vermeiden.
Mit dem #define könnte ich vielleicht erreichen, dass das richtige IO-File eingebunden wird (oder gleich ein bestimmtes einbinden), aber wahrscheinlich muss der Linker auch Bescheid wissen ... hmmm, dann geht es vielleicht garnicht im Sourcefile ?
ciao .. bernd
bluebrother
26.01.2005, 16:08
warum arbeitest du dann nicht mit 3 Verzeichnissen, für jeden µC einen? Dann kann jeder sein eigenes Makefile haben und du kriegst keine Probleme. Ist das nicht sonst auch etwas unübersichtlich?
Ne, geht nicht im Sourcefile. Wie gesagt, der Linker will das auch wissen...
Du könntest dir notfalls für jeden Prozessor eine .bat Datei erstellen die das ganze dann compiliert und zusammenlinkt, ist aber vermutlich aufwendiger...
Aber warum legst du dir nicht einfach drei Ordner mit eigenem Makefile für die drei Projekt an ?? Oder gibt es nur ein Programm das mal für den einen Prozessor dann wieder für den anderen compiliert werden soll ??
MfG Kjion
Verdammt, zu lang gebraucht mit dem tippen ;-)
Jupp, mit 3 Verzeichnissen ist wahrscheinlich am vernünftigsten. Es liegt wahrscheinlich an meiner 'organischen' Programmierweise, dass ich das (bei diesem Projekt) bisher nicht gemacht habe.
ciao ... bernd
hi bernd,
zu deiner 1. frage (Wie kompiliere ich ein C++-Sourcefile ?...)
probier einfach mal im makefile die zeile wo der compiler angegeben ist (jetzt ist es (nehm ich an) avr-gcc) in avr-g++ zu ändern. dann wird standardmässig der c++ compiler verwendet. sonst lass alles gleich im makefile (als dateinamenendungen auf c (nict cpp)).
ich weiss ist etwas unsauber c++ code mit c endung zu produzieren, aber so funktionierts...
lg
tom
werd ich mal probieren, danke.
ciao .. bernd
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.