lib:swig
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
lib:swig [2018/05/13 21:28] – Ajout de "Can't wrap 'xxx' unless renamed to a valid identifier." root | lib:swig [2022/09/13 10:04] (Version actuelle) – Ajout des sites web root | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | [[https:// | ||
+ | |||
====Utilisation de base==== | ====Utilisation de base==== | ||
<file raw libmod.i> | <file raw libmod.i> | ||
Ligne 40: | Ligne 42: | ||
C'est le cas des opérateurs '' | C'est le cas des opérateurs '' | ||
%rename(operator_not_equal) operator!=; | %rename(operator_not_equal) operator!=; | ||
+ | |||
+ | ====Multiple inheritance is not supported in==== | ||
+ | Ajouter après '' | ||
+ | %include < | ||
+ | |||
+ | Soit la ClasseA | ||
+ | <code cpp> | ||
+ | class ClassA : public Number, public Base< | ||
+ | </ | ||
+ | |||
+ | Ajouter: | ||
+ | %interface_impl(Number); | ||
+ | %include " | ||
+ | %interface_impl(Base); | ||
+ | %include " | ||
+ | %rename(base_int_ren) Base< | ||
+ | %template(base_int) Base< | ||
+ | |||
+ | <WRAP center round info 60%> | ||
+ | Je n'ai pas testé mais je conseille de mettre un nom différent lors du '' | ||
+ | </ | ||
+ | |||
+ | Si '' | ||
+ | |||
+ | <WRAP center round alert 60%> | ||
+ | Par contre, il y a un soucis si une classe avec template doit être déclarée en interface : | ||
+ | <code raw> | ||
+ | %interface_impl(InterfaceVisitable); | ||
+ | // Nécessaire car swiginterface.i fait NomDeLaClasseAvecTemplateImplSwigImpl. | ||
+ | // InterfaceVisitable< | ||
+ | %rename(interface_visitable_number_ren) InterfaceVisitable< | ||
+ | // Mais lors de la déclaration du %template, c'est l' | ||
+ | %template(interface_visitable_number) InterfaceVisitable< | ||
+ | </ | ||
+ | J'ai le résultat : | ||
+ | Error: The interface feature name ' | ||
+ | </ | ||
+ |
lib/swig.1526239693.txt.gz · Dernière modification : 2018/05/13 21:28 de root