J'essaie de créer un nouveau modèle de projet pour Eclipse CDT afin de répondre à ma question here. @Jonah Graham a fourni une description très détaillée de sa réponse au 1 et cela m'a le plus souvent amené. Cependant, je n'arrive pas à comprendre comment définir une option spécifiée via une liste déroulante; par exemple. Dialect/Language Standard à ISO C++11 (-std=c++01)
dans l'onglet Paramètres/Paramètres d'outil/Compilateur GCC/Dialect de GCC. cela ne semble pas le même problème se poserait si je voulais changer l'optimisation par défaut ou les niveaux de débogage, etc.Modèle de projet CDT Eclipse - Définition des options déroulantes
Je pensais que cela pourrait se faire par quelque chose comme
<process
type="org.eclipse.cdt.managedbuilder.core.SetMBSStringListOptionValues">
<simple name="projectName" value="$(projectName)" />
<complex-array name="resourcePaths">
<element>
<simple name="id" value=".*cpp\.compiler\.option\.dialect\.std." />
<simple-array name="values">
<element value="gnu.cpp.compiler.dialect.c++11" />
</simple-array>
<simple name="path" value="" />
</element>
</complex-array>
</process>
Malheureusement, pour avoir une effect (aucune erreur, mais rien dans le fichier .cproject résultant non plus).
Je peux contourner ce problème en définissant le drapeau "Autre dialecte", qui est juste une chaîne, mais j'aimerais savoir comment le faire via une liste déroulante, car ceux-ci viennent dans d'autres endroits.
J'ai mis à jour https://github.com/jonahkichwacoders/example_cdt_template pour intégrer ce paramètre si cela peut vous aider. –
Cela ne fonctionne pas pour moi - je ne comprends rien. J'ai copié ce qui précède et j'ai vérifié que la valeur correspond à ce qui est affiché dans la liste déroulante. Je l'ai également essayé en utilisant une valeur de "gnu.cpp.compiler.dialect.C++ 11", qui est ce qui est enregistré dans le fichier .cproject, mais aucun de ceux-ci ne fonctionne pour moi. – sfjac
Oops - Je le reprends. Ce que j'ai fait ci-dessus n'a pas fonctionné mais quand j'ai changé ce que vous avez recommandé d'utiliser "gnu.cpp.compiler.dialect.C++ 11", cela a fonctionné. – sfjac