au link definir gcc-4.2 ou g++-4.2
dream hope
Membre
Bonsoir
J'ai un problème de build particulièrement vicieux.
J'ai deux projet qui utilisent la même lib ; dans un projet le build fonctionne, et dans l'autre non.
Au link il y a des soucis avec std :
En fouillant dans la compilation, j'ai trouvé que dans un cas il faisait le link avec g++-4.2 et dans l'autre gcc-4.2 :
Donc comment préciser gcc ou g++ pour le linkage ?
A savoir que dans les setting des target, Compile Source As = According to File Type.
Merci de votre aide
D.H.
PS : Je suis sur xcode 3.2
J'ai un problème de build particulièrement vicieux.
J'ai deux projet qui utilisent la même lib ; dans un projet le build fonctionne, et dans l'autre non.
Au link il y a des soucis avec std :
Undefined symbols:
"std::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator=(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)", referenced from: blablabla
En fouillant dans la compilation, j'ai trouvé que dans un cas il faisait le link avec g++-4.2 et dans l'autre gcc-4.2 :
Ld build/Debug-iphoneos/SPIKiosqueDemo.app/SPIKiosqueDemo normal armv7
cd /Users/xxx/Documents/Projects/iPhone/Demo/SPIKiosqueDemo
setenv IPHONEOS_DEPLOYMENT_TARGET 3.2
setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/g++-4.2
Ld build/Debug-iphoneos/KiosqueDemo.app/KiosqueDemo normal armv7
cd /Users/xxx/Documents/Projects/iPhone/Demo/BookCase+ImmKiosque
setenv IPHONEOS_DEPLOYMENT_TARGET 3.2
setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2
Donc comment préciser gcc ou g++ pour le linkage ?
A savoir que dans les setting des target, Compile Source As = According to File Type.
Merci de votre aide
D.H.
PS : Je suis sur xcode 3.2
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Pour mélanger de l'Objective-C et du C++ il faut faire de l'Objective-C++
Pour cela il suffit de renommer tes fichiers ".m" en ".mm", du coup vu que tu as "Compile Source As = According to File Type" ça va te les compiler en Objective-C++ donc avec le bon compilateur.
Alors c'est exactement ce que je fais : une des classes de la lib importée est définit en .mm (car elle utilise du code c++).
Mais dans les projets qui utilise cette lib, un coup ça link (compilateur g++-4.2) et un coup non.
Le problème étant que je n'arrive pas à avoir la main sur le paramètre qui permet de définir quel type de compilateur utiliser pour le link.
Merci
- dans mon projet 2 qui plante, j'ai redéfinis une class en *.mm et ça marche (pourtant dans la lib, j'ai déjà un fichier *.mm);
- alors que mon projet 1 qui n'a aucun fichier en *.mm et qui utilise la même lib fonctionne très bien...
Comprend pas pourquoi.
les voix de l'informatique sont impénétrables mes enfant. >:D