6
votes

Erreur Strange GCC: Stray '\ Nnn' dans le programme

Le problème suivant est apparu dans ma bibliothèque open source et je ne peux pas comprendre ce qui se passe.

Deux de mes utilisateurs ont des erreurs de compilateur (GCC) qui ressemblent à: p>

/home/someone/Source/src/._regex.cpp:1:1: warning: null character(s) ignored
/home/someone/Source/src/._regex.cpp:1: error: stray ‘\5’ in program
/home/someone/Source/src/._regex.cpp:1: error: stray ‘\26’ in program
/home/someone/Source/src/._regex.cpp:1: error: stray ‘\7’ in program
/home/someone/Source/src/._regex.cpp:1:5: warning: null character(s) ignored
/home/someone/Source/src/._regex.cpp:1: error: stray ‘\2’ in program
...


3 commentaires

S'il te plaît!!! Lisez la version logicielle HOWTO ( en.tldp.org/howto/ Software-Livraison-Pratique-HOWTO / INDEX.HTM L ) - Vous décompressez toujours des choses dans un sous-répertoire (YAML-CPP-0.2.3) et ne diffusez pas votre code autour du répertoire actuel ... Dammit! (OK: Je devrais savoir mieux - mais alors devriez-vous!)


Désolé, tu as raison. Je suis tellement habitué à être vissé par d'autres de cette façon que je fais toujours un nouveau répertoire quand on décompresse. Mais oui, désolé pour ça, je vais résoudre ce problème pour la prochaine fois. Merci pour le lien aussi.


@JESSE: N'acceptez pas d'être vissé par d'autres de cette façon. Tolérer la fois; Signifiez l'erreur de leur manière, puis refusez d'avoir quelque chose de plus à voir avec le logiciel qui ne traitera pas du problème.


5 Réponses :


0
votes

pourrait être un fichier corrompu de leur part.

Qu'est-ce qui est à la ligne 1 de _regex.cpp sur leur système.

S'il y avait un problème de téléchargement / codage, vous devrez examiner ce qui est dans les fichiers de leur système, pas ce qui est dans votre référentiel de code.


0 commentaires

13
votes

Les erreurs sont dans ._ regex.cpp , pas regex.cpp . .

Les fichiers commençant par ._ sont autogogenéés par Mac OS X. Il semble que votre système de construction essaie de compiler tous les fichiers se terminant par .cpp. Cela ne devrait probablement rien compiler à partir d'un point.


1 commentaires

Celles-ci. + Les fichiers sont créés par OSX sur un système de fichiers non HFS + (Format Native Mac OS).



7
votes

7 commentaires

@bdonlan: Oui, cela fonctionnerait - mais combien de fichiers source ne commencent pas avec un caractère alphabétique? Constituée, votre notation est plus compacte si des fichiers commencent avec le majuscule aussi. Je pense toujours qu'il y a de la place pour affirmer qu'il y a un bogue dans Cumake - Shell Globbing ne se développe pas aux noms de correspondance en commençant par le point et ne devrait pas non plus cuma.


Belle prise. Ce qui semble bizarre pour moi est que la version précédente a bien compilé pour eux. Qu'est-ce que dans le ._ quoi que ce soit.CPP fichiers générés?


Exécution: 'rm -f /._ ' Dans le répertoire de niveau supérieur où le logiciel est extrait permet à la construction de fonctionner avec des fichiers de cumake non modifiés.


Il s'avère que ces fichiers cachés supplémentaires sont générés automatiquement par la commande tar et pas existent réellement sur mon système. Ils résultent d'attributs «étendus» de OS X; J'ai réussi à vous en débarrasser et n'affuté que la source réelle dans une nouvelle archivale. Merci pour ton aide!


Eh bien, je ne sais pas comment vous avez ajouté les attributs étendus. Mon test, FWIW, était sur MacOS X 10.5.8 (Leopard). Avec diverses tentatives, je n'ai pas eu pour voir ces fichiers "._ *" générés sur mon disque, ni créé par le goudron GNU (1.15.1) de / usr / bin ou / usr / local / bin (oui , un jour je vais savoir pourquoi j'ai les deux). Donc, vous avez probablement raison de toucher quelque chose de macos x dans les créer, puis le goudron les archive correctement; Je ne suis tout simplement pas convaincu que le tarou fait le dommage. Mais je n'ai pas de bonne explication pour ce qui fait les dégâts. Utilisez-vous une interface graphique (Xcode, peut-être)?


Ouais, on dirait que si vous enregistrez un fichier en Xcode (ou en texteDIT, ou probablement n'importe quoi GUI-Y), il ajoute ces attributs étendus fous. J'ai passé un moment à comprendre comment traiter avec eux - voir superUser.com/questions/61185/... pour plus d'informations


Attributs étendus? Comme le Fourchette de ressources sur les Mac des années 1990? Attributs étendus vs. Resource Forks



0
votes

Assurez-vous que vous n'avez que des fichiers .O dans votre répertoire de construction. J'ai eu cette question et la cause était une erreur dans mon maquillage (en fait, c'était un SCONS File ) qui construit un fichier source sur un fichier .C au lieu d'un fichier .O. Le fichier résultant était un binaire, mais je suppose que GCC a essayé de l'interpréter comme un fichier .C.


0 commentaires

0
votes

Je viens de cela arriver avec mon programme C ++ que je faisais. Cela s'est produit lorsque j'ai copié la formule de double hachage à partir d'un fichier PDF, qui était xxx p> Je pensais que c'était l'opérateur modulo, mais il s'est avéré être le codage ou quelque chose, mais j'ai résolu ceci en le supprimant et en tapant manuellement.


0 commentaires