Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo zusammen,

ich hoffe, ich bin hier im richtigen Forum.

Ich arbeite mit dem Visual Studio 2005, habe gerade etwas rumprobiert und gesehen, dass man einer Resource (.rc) im Resource Browser mehrere Versionen geben kann.

- Kann mir jemand erklären, wozu das nützlich ist?

- Und wie kann ich das Projekt (die Dll) denn dann mit einer der anderen Versionen erstellen?

Freue mich auf Antwort!

Viele Grüße

Geschrieben

Nehmen wir an, eine (bis auf den Namen und die Version identische) Dll soll an 2 Kunden rausgehen, der eine bekommt die Dll mit dem Namen abc.dll in der Version 2.0 und der andere mit dem Namen xyz.dll in der Version 1.2.

Wenn ich nur eine Resource-Datei hätte, und an diese 2 "Versionsobjekte" (oder wie auch immer man es nennen mag) hängen würde, wie würde ich die einzelnen "Versionsobjekte" dann ansprechen?

Also "wenn ich in Konfiguration A baue, nimm Versionsobjekt1, ansonsten nimm Versionsobjekt2".

Geschrieben

Hallo Klotzkopp,

danke für deine Antwort. Die Condition-Eigenschaft habe ich gefunden, aber kannst du mir das mit dem Präprozessorsymbol noch genauer erklären? Wo muss das denn definiert werden? Und in die Condition schreibe ich dann nur den Namen dieses Präprozessorsymbols?

Geschrieben
Wo muss das denn definiert werden?
In den Projekteinstellungen, unter C/C++ -> Preprocessor -> Preprocessor Definitions. Das ist eine mit Semikolon getrennte Liste von Symbolen. An diese Liste kannst du einfach pro Konfiguration einen anderen Namen anhängen.

Und in die Condition schreibe ich dann nur den Namen dieses Präprozessorsymbols?
Genau. VC++ setzt das dann in #ifdef-Blöcke in der .rc-Datei um.
Geschrieben

Danke, Klotzkopp, habs gefunden! :)

Ich habe (Bsp.) für mein Projekt eine Konfiguration Kunde_A und eine Konfiguration Kunde_B. Bei Kunde_B habe ich in den Preprocessor Definitions ein Präprozessorsymbol USE_VERSION_KUNDE_B definiert und in die Condition des einen Versionsobjekts habe ich auch USE_VERSION_KUNDE_B geschrieben. Wenn ich die Konfiguration Kunde_B nun baue, wird aber leider immer noch mit dem anderen Versionsobjekt (dem von Kunde_A) gebaut :(

Hast du eine Idee, woran das liegen kann?

Geschrieben

Du musst bei beiden Ressourcen eine Condition setzen (jeweils mit einem anderen Symbol), sonst wird in der Konfiguration Konfiguration Kunde_A das Programm mit beiden Ressourcen erstellt.

Geschrieben

Also jetzt habe ich für Konfiguration Kunde_A ein Präprozessorsymbol USE_VERSION_KUNDE_A und eine Condition USE_VERSION_KUNDE_A. Für Konfiguration Kunde_B habe ich ein Präprozessorsymbol USE_VERSION_KUNDE_B und eine Condition USE_VERSION_KUNDE_B.

Egal mit welcher der beiden Konfigurationen ich jetzt baue, wenn ich mir im Explorer über Properties die Einstellungen der erzeugten Dll ansehe, gibt es nicht mal mehr einen Version-Tab... Wo könnte da jetzt was nicht stimmen? :confused:

Geschrieben

Mein Fehler, die Präprozessorsymbole müssen in Resources -> General -> Preprocessor Definitions gesetzt werden. Der Ressourcencompiler hat seinen eigenen Satz an Symbolen.

:floet:

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...