J'ai du code multiplate-forme avec certaines fonctionnalités C ++ 11 telles que QCC est le fonctionnaire Compilateur QNX C ++, mais je ne trouve aucune documentation citant laquelle C ++ 11 fonctionnalités, ou même les fonctionnalités C ++ en général, elle prend en charge. Est-ce une enveloppe autour de GCC ou sa propre chose? De toute façon, puis-je obtenir ou compiler d'autres compilateurs sur cette plate-forme? P> #include
3 Réponses :
de ce que je sais juger de la Notes de version de QNX 6.6 GCC 4.7 est utilisé: < / p>
Les notes de version fournissent un lien à l'information sur GCC 4.7 mais je pense ce lien meilleurs spectacles quelles fonctionnalités spécifiques sont prises en charge. Il y a trop d'informations sur la page liée, à cause de cela, je ne le copie pas. Mais en substance, les états de liaison: p>
GCC fournit un support expérimental pour la norme ISO C ++ 2011 2011. Ce support peut être activé avec l'option -std = C ++ 11 ou -Std = GNU ++ 11 Option de compilateur ... Le mode C ++ 11 de GCC implémente une grande partie de la norme C ++ 11 produite par le
Comité ISO C ++ P>
blockQuote> QCC code> utilise simplement
gcc code> en interne. Étant donné que vous pouvez utiliser toutes les fonctionnalités fournies par la version de
GCC code> que QNX a décidé de mettre dans leur colis. P>
La version de GCC utilisée par QCC prend en charge une grande partie de la spécification C ++ 11. Je l'ai utilisé. Il suffit d'ajouter J'ai trouvé un problème avec le support C ++ 11 sur QNX 6.6. C'était en juillet 2014, les choses peuvent donc avoir changé. Le support de l'initialisation vectorielle ( -std = c ++ 11 code> à la ligne du compilateur. P>
std :: vecteur
Je peux confirmer cela. QNX 6.6 La liste L'initialisation est toujours cassée. Le code va juste rester coincé. J'ai parcouru autour de là et c'est le seul endroit où j'ai vu des gens se plaints de cela.
Alors que @marged La réponse semble couvrir absolument tous les aspects importants de votre question, j'aimerais ajouter Il est également possible d'obtenir plus de versions actuelles de tous les outils GNU DEV (comme gcc em>, gdb em> ou faire em> ..). Ceci est officiellement fourni par le personnel de QNX pour "utilisation expérimentale seulement", je suppose 1 sup>. Mais jusqu'à présent, je n'avais que de bonnes expériences avec eux. P>
Check Out Qnx's Mise à jour Outils de développement de base < / a> strong> p>
(Vous devez d'abord vous inscrire au portail communautaire QNX pour ouvrir le lien) P>
Vous mettriez ensuite à jour votre système Linux Dev, comme celui-ci: P>
1 texte officiel: "Les versions stables des outils de développement de base sont incluses dans le cadre de la pointe de QNX. Vous pouvez télécharger des versions mises à jour de ces outils en cours de développement via ce projet et bénéficier de leurs améliorations plus tôt!" sup> p>
/../ qnx650 / hôte / linux / x86 / etc / qcc / gcc / par défaut code> li>
ul> li>
$ sudo apt-get Installer lib32stdc ++ 6 code> li>
$ I486-PC-NTO-QNX6.5.0-G ++: Erreur lors du chargement des bibliothèques partagées: libstdc ++. SO.6: impossible d'ouvrir le fichier d'objet partagé: aucun fichier ou répertoire de ce type code> li>
ul> li>
ul>
J'ai un problème seulement avec celui-ci: qtcore / qglobal.h: 39: ERREUR: CSTDDEF: Aucun fichier ou annuaire de ce type inclure
Cela ressemble plus à votre environnement QT n'est pas installé et configuré correctement (Creator Qt). Vous utilisez peut-être Mme Visual Studio? Tbh, je n'ai pas encore utilisé Qt en combinaison avec l'environnement de devir Qnx, je ne serai donc pas une grande partie d'aide ici.
Votre airforce utilise-t-il-t-il QNX? ;-) Pour autant que je sache QCC, la QCC utilise simplement
gcc code> et à cause de cela, cela dépend du GCC utilisé par QNX 6.6. Une recherche rapide montre que qnx 6.6 utilise GCC 4.7 ( Qnx.com/Developers/articles/ rel_5849_7.html ) et voici une liste des fonctionnalités prises en charge de GCC 4.7: GCC. gnu.org/projects/cxx0x.html
@Marged, je répondrais celui-là. C'est à peu près aussi bon que quiconque va chercher cette question.