2009-10-11 9 views
3

J'utilise des fichiers sur l'extension .mm dans le projet Xcode pour compiler ces fichiers, nous avons ajouté le LLVM-GCC 4.2 dans le cadre de la construction après avoir ajouté ce compilateur ce montrant l'erreurNO un tel fichier ou répertoire pour les fichiers ----- stdarg.h et float.h?

/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.1.sdk/usr/include/stdarg.h:4:25: error: stdarg.h: No such file or directory

/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.1.sdk/usr/include/float.h:8:24: error: float.h: No such file or directory

Je ne sais pas comment supprimer cette erreur toute aide pour supprimer cette erreur.

grâce

Balraj

+4

Si vous acceptez des réponses que vous êtes plus susceptibles d'amener les gens à répondre à la peine – Mark

Répondre

1

Ces en-têtes ne sont pas pris en charge dans gcc 4.2 qui est utilisé par défaut sur Mac OSX.

Passer à la version 4.0 (il est décrit here)

+0

en fait j'utilise xcode sdk 3.1 pour utiliser ce code et aussi la construction du projet entier par LLMV GCC 4.2 et après avoir ajouté il montre seulement deux ces erreur de répertoire, sinon je le fais avec le gcc 4.0 comme indiqué dans votre lien jette les nombreuses erreurs donc est-il un moyen d'ajouter ces fichiers dans ce répertoire du compilateur s'il vous plaît me guider !!! – Ballu

+0

* Êtes-vous sûr que ce sont des erreurs et non des avertissements? Si ce dernier, vous pouvez probablement les ignorer. * S'il s'agit d'erreurs, pensez à ajouter # include à vos problèmes. Il est possible qu'ils ne soient pas vraiment nécessaires pour votre projet. * Sinon, vous pouvez consulter ce post http://www.mailinglistarchive.com/[email protected]/msg17102.html L'auteur indique que la raison est dans les en-têtes manquants dans/usr/lib/gcc /4.2/include (ou quelque part près d'elle). Vous pouvez essayer de copier les fichiers manquants de la version précédente de gcc (4.0, par exemple). Malheureusement, je ne peux pas vérifier si l'une de ces œuvres = ( –

+0

oui je suis mort sûr que ce sont des erreurs non avertissements – Ballu

0

je suis tombé sur ce problème aussi bien, et le passage à GCC 4.0 n'a pas fixé pour moi. J'ai également dû changer mon SDK actif (déroulant dans le coin supérieur gauche de l'éditeur Xcode ou de la fenêtre de la console) de 10.4 (Base SDK) à 10.6 (Je cours Snow Leopard). Je ne sais pas quelles implications ceci pourrait avoir sur votre développement, mais c'était assez bon pour mon problème parce que je fais juste un outil de ligne de commande de base pour des choses faciles.

0

J'ai rencontré cette erreur lors de la création de mon application Hello World dans xcode après avoir installé le framework SDL. Faire l'installation standard, par le livre, dans Snow Leopard OSX 10.6.3 avec xcode 3.3.2 a jeté ces erreurs,

"stdarg.h: Aucun fichier ou répertoire" "float.h: Aucun fichier ou répertoire "

car il est par défaut SDK 10.4.

Si vous avez ce problème, définissez le SDK à 10.6 et vous devriez être en clair.

1

je suis tombé sur le même problème, et ne pouvait pas résoudre le problème avec toutes les autres réponses ici, donc je essayé:

cd /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.2.sdk/usr/include 
sudo mv stdarg.h stdarg.h.original 
sudo ln -s /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.2.sdk/usr/lib/gcc/arm-apple-darwin9/4.0.1/include/stdarg.h 

et l'erreur de compilation est parti!

+0

A travaillé! Bien que, chemins légèrement différents pour moi parce que j'ai installé Xcode dans un emplacement personnalisé (pas par défaut). Regardez simplement le chemin dans les erreurs. Utilisez les mêmes chemins relatifs à cette réponse. Si vous utilisez le simulateur, 'iPhoneOS' sera' iPhoneSimulator', et bien sûr, '3.2.sdk' peut varier, selon le SDK que vous construisez. – ma11hew28

+1

Raccourcir la dernière ligne à 'sudo ln -s ../lib/gcc/arm- apple-darwin9/4.0.1/include/stdarg.h'. Aussi, devrais-je utiliser 'arm-apple-darwin9' ou' 10'? Je vais aller avec '10'. – ma11hew28

+0

Intéressant. Cependant (et s'il vous plaît excusez-moi si je dis l'évidence), cela semble être un test et pas une solution pratique, correct? Ce genre de chose peut être extrêmement pénible pour des équipes plus importantes ou des projets open source - le piratage de fichiers système ne semble jamais être une bonne pratique. –

1

Je l'avais déjà sur le compilateur GCC 4.0 Le passage au compilateur LLVM 1.6 a fonctionné pour moi. Utilisation de Mac OS X 10.7.3 Xcode 3.2.5

0

D'après mes tests et d'après ce qui a été suggéré ci-dessus, le problème va de pair avec la version Base SDK; En d'autres termes, les SDK précédents ne fonctionnent qu'avec GCC 4.0, alors que les SDK ultérieurs fonctionnent avec GCC 4.0 ou 4.2 (et les options LLVM les plus récentes).

Pour résumer les options qui devrait travail:

SDK de base pour les projets iOS/cibles:
iOS 3.2 et versions antérieures: GCC 4.0
iOS 4.0 et versions ultérieures: GCC 4.0, GCC 4.2, LLVM GCC 4.2, LLVM Clang

SDK de base pour les projets Mac OS X/cibles:
Mac OS X 10.5 et versions antérieures: GCC 4.0
Mac OS X 10.6 et versions ultérieures: GCC 4.0, GCC 4.2, LLVM GCC 4.2, LLVM Clang

0

ajouter des drapeaux supplémentaires comme ci-dessous

CFLAGS += -I"$(YOUR_SYSROOT)/usr/lib/gcc/arm-apple-darwin10/4.2.1/include" 
CPPFLAGS += -I"$(YOUR_SYSROOT)/usr/include/c++/4.2.1" 
CPPFLAGS += -I"$(YOUR_SYSROOT)/usr/include/c++/4.2.1/armv6-apple-darwin10" 
Questions connexes