Zum Inhalt springen

.rc-Datei mit mehreren Versionen?


td84

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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".

Link zu diesem Kommentar
Auf anderen Seiten teilen

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?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.
Link zu diesem Kommentar
Auf anderen Seiten teilen

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?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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...