Forum: Mikrocontroller und Digitale Elektronik NXP MCUXpresso Precompiler Anweisung in Library übernehmen


von Oliver S. (os252)


Lesenswert?

Hallo,

ich habe eine Frage zu der Handhabung der Projekteinstellungen von 
MCUXpresso, mit dem ich meine Projekte verwalte.

Ich habe ein Projekt, welches als Library für andere Projekte dient.
Diese Library wird über die Projekteinstellungen in den Includes in die 
jeweiligen Projekte eingebunden.

Nun habe ich leider ein paar Projekte, die benötigen eine andere 
Pinbeschreibung, die in der Library per #define geregelt ist.

Zur Zeit mache ich es so, dass ich in der Library für das eine Projekt 
das #define mache, die Library compiliere und dann das eigentliche 
Projekt.
Wenn ich ein anderes Projekt compilieren möchte, ändere ich das #define 
in der Library, compiliere diese und compiliere anschließend das 
eigentliche Projekt.
So funktioniert es, aber ich bin auf der Suche nach einer eleganteren 
Lösung, die mir je nach Projekt ermöglicht, das #define zu verändern.

Jemand einen Ansatz wie man so etwas bewerkstelligen kann?

Grüße,
Oliver

von Johannes S. (Gast)


Lesenswert?

in der Lib kannst du Abfragen ob ein define gesetzt ist und wenn nicht 
dann einen default setzen.
1
#ifndef MY_SETTING
2
#define MY_SETTING 42
3
#endif

Jetzt ist die Frage ob Settings vom Hauptprojekt vererbt werden wenn die 
Lib neu gebaut wird. In Eclipse kann man Projektabhängigkeit definieren, 
evtl. geht darüber auch das benutzen übergeordneter/globaler Makros.

von Jim M. (turboj)


Lesenswert?

Oliver S. schrieb:
> So funktioniert es, aber ich bin auf der Suche nach einer eleganteren
> Lösung, die mir je nach Projekt ermöglicht, das #define zu verändern.
> [...]
> In Eclipse kann man Projektabhängigkeit definieren,
> evtl. geht darüber auch das benutzen übergeordneter/globaler Makros.

Geht AFAIK nicht direkt, da die Library immer unabhängig von dem Projekt 
gebaut wird das sie referenziert.


Was man aber machen kann sind verschiedene Build Konfigurationen für die 
Library, und die Projekte referenzieren dann jeweils "ihr" spezifisches 
Build via "Library search path (-L)". Denn eine Build Konfiguration hat 
jeweils ein eigenes Output Verzeichnis.

von Oliver S. (os252)


Lesenswert?

Jim M. schrieb:

> Was man aber machen kann sind verschiedene Build Konfigurationen für die
> Library, und die Projekte referenzieren dann jeweils "ihr" spezifisches
> Build via "Library search path (-L)". Denn eine Build Konfiguration hat
> jeweils ein eigenes Output Verzeichnis.

Vielen Dank, hab ich genauso gemacht und funktioniert wunderbar.

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.