2008-09-18 15 views
9

Ich programmiere in C++ auf Visual Studio 2005. Meine Frage behandelt. RC-Dateien. Sie können Include-Anweisungen wie (#include "blah.h") am Anfang einer RC-Datei manuell platzieren. Aber das ist eine schlechte Nachricht seit dem ersten Öffnen der RC-Datei im Ressourceneditor, die überschrieben wird. Ich weiß, dass es einen Ort gibt, an dem diese definiert werden, damit sie nicht zerstört werden, aber ich kann sie nicht finden und das Googeln hat nicht geholfen. Weiß jemand?Visual Studio 2005. RC-Datei enthält

Antwort

6

Fügen Sie Ihre # include in die Datei in gewohnter Weise, sondern auch die drei „TEXTINCLUDE“ Abschnitte in der Datei zu einem hinzufügen, etwa so:

2 TEXTINCLUDE 
BEGIN 
    "#include ""windows.h""\r\n" 
    "#include ""blah.h\r\n" 
    "\0" 
END 

Beachten Sie die folgenden Details:

  • Jede Zeile ist in Anführungszeichen enthalten
  • Verwenden Sie Paare von Anführungszeichen, eg "\ 0"

Statements im platziert "1 TEXTINCLUDE" Block "A Anführungszeichen inline

  • End jede Zeile mit \ r \ n
  • beenden TEXTINCLUDE Block mit setzen" wird an den Anfang der RC-Datei geschrieben, wenn die Datei vom Ressourceneditor neu geschrieben wird. Es folgen Anweisungen in den Blöcken 2 und 3. Sie können also die relative Reihenfolge der Include-Dateien mit dem entsprechend nummerierten Block sicherstellen.

    Wenn Ihre vorhandene rc-Datei noch keine TEXTINCLUDE-Blöcke enthält, verwenden Sie den Assistenten für neue Dateien im Fenster Projektmappen-Explorer, um eine neue RC-Datei hinzuzufügen und diese als Vorlage zu verwenden.

  • +0

    Dieser Ansatz unter der Haube funktioniert auch für mich. Ich muss die .rc-Datei direkt so für meine asiatischen Sprache .rc's bearbeiten. VS hängt, wenn ich versuche, die IDE zum Hinzufügen eines Ressourcen-Includes zu verwenden. –

    0

    Ich bin mir nicht ganz sicher, warum Sie das versuchen, aber die manuelle Änderung der Ressourcendateien ist wahrscheinlich keine gute Idee.

    Ich glaube, die allgemeine Praxis für VC++ für global zugängliche Werte ist, sie in stdafx.h zu definieren (zumindest so habe ich es gesehen), oder etwas wie eine Headerdatei "globals.h" zu erstellen schließe das ein, wo immer du es brauchst. Es hängt wirklich davon ab, was Sie erreichen wollen.

    3

    Klicken Sie in der Visual Studio-IDE mit der rechten Maustaste auf die RC-Datei (im Bereich Ressourcenansicht), und wählen Sie im Kontextmenü den Befehl "Ressource enthält" aus. Wenn das Dialogfeld geöffnet wird, verwenden Sie den Bereich "Kompilierzeitrichtlinien", um einzugeben, was Sie in die RC-Datei aufnehmen möchten. Zum Beispiel, wenn Sie bauen Ihren 64-Bit und 32-Bit will verschiedene Symbole verwenden, können Sie die entsprechende Ressourcendatei für jeweils bauen wie folgt:

    #ifdef WIN64 
    #include "Icons64.rc" 
    #else 
    #include "Icons32.rc" 
    #endif 
    

    Es ist erwähnenswert, dass diese definiert nicht in gesetzt der Ressourcencompiler standardmäßig, also stellen Sie für Ihren 64-Bit-Build sicher, dass Sie/DWIN64 zu dem RC-Build hinzufügen.