Utilisation de gcc de macports dans XCode

promuald

Membre confirmé
20 Octobre 2006
25
2
40
Voilà, tout est dans le titre.

J'aimerai utiliser les compilateurs de macports dans mes projets C de XCode. (4.4 et 4.5 pour être précis).

Lorsqu'on veut changer le compilateur via Compiler Version -> C/C++ Compiler Version, les compilateurs de macports n'apparaissent pas.

En essayant de mettre dans "other..." un chemin vers l'un des compilateurs de macports, ça ne marche pas non plus.

Quelqu'un à une solution ?
 
Où sont installé lesz compilateurs de Mac Port ? Je ne savais même pas que MacPort ajoutait ses propres compilos :rateau:
As-tu regardé dans le plist de Xcode s'il n'y avait pas une liste restrictive ?
 
Où sont installé lesz compilateurs de Mac Port ?

/opt/local/bin

Je ne savais même pas que MacPort ajoutait ses propres compilos

macports permet d'installer d'autres compilateurs (des gcc récents, avec même un support d'ada).

As-tu regardé dans le plist de Xcode s'il n'y avait pas une liste restrictive ?

Non, il n'y a pas de telle liste.

Merci quand même te ton aide.
 
/opt/local/bin
Soit tu les mets dans /usr/bin avec les versions de Xcode et tu vois ce que cela donne dans Xcode.
Soit tu changes " à la main"le lien symbolique vers la version courante de gcc, toujours dans /usr/bin
Mais rien ne garantit que ces compilos seront supportés par Xcode.
 
Soit tu les mets dans /usr/bin avec les versions de Xcode et tu vois ce que cela donne dans Xcode.

C'est un peu "porc" comme solution. De plus, c'est pas en déplaçant uniquement les binaires que ça va marcher.

Soit tu changes " à la main"le lien symbolique vers la version courante de gcc, toujours dans /usr/bin

Ca ne marche pas non plus, c'est exactement ce qui se passe avec l'utilitaire gcc_select. En revanche, dans XCode, ça n'est pas le bon gcc qui est utilisé (Xcode mémorise le chemin adéquat)

Mais rien ne garantit que ces compilos seront supportés par Xcode.

Ca n'est pas le problème. XCode ne doit servir que d'IDE, peu importe le compilateur utilisé derrière. (icc fonctionne très bien avec XCode par ex).
 
C'est un peu "porc" comme solution. De plus, c'est pas en déplaçant uniquement les binaires que ça va marcher.
Ben si, si Xcode scanne ce qu'il y a dans /usr/bin pour construire la liste des compilos qu'il propose. Eventuellement ne mets qu'un lien dans /usr/bin.
Ca n'est pas le problème. XCode ne doit servir que d'IDE, peu importe le compilateur utilisé derrière. (icc fonctionne très bien avec XCode par ex).
Et Apple fait ce qu'il veut avec son outil ... y compris pour choisir les compilos qu'il propose. :D
Il te reste la compilation à la main, que tu peux lancer via Xcode en utilisant un script dans ta cible.
 
Voilà, tout est dans le titre.

J'aimerai utiliser les compilateurs de macports dans mes projets C de XCode. (4.4 et 4.5 pour être précis).

Lorsqu'on veut changer le compilateur via Compiler Version -> C/C++ Compiler Version, les compilateurs de macports n'apparaissent pas.

En essayant de mettre dans "other..." un chemin vers l'un des compilateurs de macports, ça ne marche pas non plus.

Quelqu'un à une solution ?

tu ne peux pas a part si tu sais trifouiller les templates xcode, ou alors tu utilises un external target depuis xcode e.g un makefile, pour l'obj-c et pas mal de features Apple applique ses patches pour ajouter ses options, ce que les versions de gcc de macport n'ont pas, donc tu peux avoir quelques soucis, tout depend de ce que tu fais
 
tu ne peux pas a part si tu sais trifouiller les templates xcode,

C'est bien ce que je pense.

Xcode scanne ce qu'il y a dans /usr/bin pour construire la liste des compilos qu'il propose.

Tu es sur ? Lors d'une compilation, le compilo utilisé est dans /Developer/usr/bin/ .

ou alors tu utilises un external target depuis xcode e.g un makefile

Oui, c'est la solution que j'ai retenu pour l'instant. Mon projet existait déjà via Makefile (je n'utilisais qu'emacs + Makefile) et j'essaie de passer le tout dans XCode.

tout depend de ce que tu fais

C'est du C tout ce qu'il y a de standard (c99 + SSE)
 
Tu es sur ? Lors d'une compilation, le compilo utilisé est dans /Developer/usr/bin/ .
C'est une hypothèse, à vérifier. Il n'y a pas cinquante mille manières de faire : soit une liste en dur dans un fichier de configuration, soit une liste créée dynamiquement en scannant les gcc qu'il peut trouver sur le DD.
Je n'avais jamais remarqué cet emplacement. en fait ils sont dans les deux répertoires avec la même date de modification.
 
soit une liste en dur dans un fichier de configuration,

Je pense plutôt dans cette direction. Je pensais à un moment que ça pouvait être dans le template d'un projet C.

Je n'aurai sûrement pas le temps de vérifier avant la semaine prochaine, si quelqu'un a une idée plus précise d'une éventuelle solution, je suis toujours preneur.