2015-10-01 6 views
0

J'essaie d'intégrer un certain fichier texte en tant que ressource dans mon EXE, et j'en ai marre du temps.Comment faire pour gérer "Erreur de définition de macro illégale en ligne de commande ou définition de page"?

J'ai fait un simple fichier .rc une ligne et ajouté au projet, mais BRCC32 s'étrangle avec une erreur complètement inutile:

[BRCC32 Error] MyRes.rc(1): Fatal error Illegal macro definition in command line or defines page.

Voici le contenu du fichier, dans son intégralité:

DATA_BASIC_ORDER  RCDATA Data\Data_BasicOrder.txt 

Cela ne se produit que si je compile dans l'EDI. Je suis capable de générer un fichier .RES à partir de ceci sur la ligne de commande, et l'ouvrir dans un éditeur hexadécimal affiche à la fois le nom de la ressource et le contenu du fichier texte, mais si je le lie avec une directive {$R}, le la ressource n'apparaît pas dans le fichier EXE. Je l'ai vérifié avec ResHacker; la ressource n'est tout simplement pas là. Donc, quelque chose de très étrange se passe.

J'ai essayé d'arrêter et de redémarrer l'IDE. Pas de changement. J'ai également ouvert le fichier .rc dans un éditeur hexadécimal pour m'assurer qu'il n'y a pas de caractères bizarres qui gâchent les choses, mais non, c'est un simple fichier texte ANSI.

Quelqu'un a-t-il une idée de ce qui se passe avec ceci et comment je peux le réparer?

EDIT: Il devient de plus en plus étrange. Si je laisse la ligne de fichier complètement vide, je reçois toujours la même erreur. Mais si je supprime le fichier du projet, (le supprimant de la liste dans l'Explorateur de projet,) ce message d'erreur disparaît, mais il n'apparaît toujours pas dans la construction.

+0

Comment pouvons-nous reproduire cela? Sans une reproduction, ça va être difficile. –

+0

@DavidHeffernan: Oui, malheureusement, il s'agit d'un projet du travail, donc le partage d'un cas de repro est aussi difficile, c'est le moins qu'on puisse dire. J'espérais que quelqu'un ici avait déjà vu ce message d'erreur et savait comment le gérer. Après l'avoir googlé, je vois quelques personnes poser des questions à propos de cette erreur et personne n'obtenant de réponses utiles, alors je suis un peu au bout de mes cordes ici. Je suis comme, "aidez-moi, Obi-Wan Stackovi, vous êtes mon seul espoir!" –

+0

Je n'ai jamais beaucoup travaillé avec le fichier RC ou lu beaucoup de choses à leur sujet. La seule chose que j'ai remarqué est qu'ils ont tendance à donner ce genre d'erreur lors de l'utilisation de formats de fichiers autres que ANSI. –

Répondre

1

L'antislash est suspect. Essayez de le citer:

RCDATA Data\\Data_BasicOrder.txt 
+0

Non, même erreur. Et comme je l'ai dit, cela compile correctement à partir du compilateur de ligne de commande. (Mais alors la ressource ne se connecte pas, alors ... oui.) –