il y a 4 semaines
Bonjour,
Je rencontre un problème avec un add-on pour Archicad 28 que je n'arrive pas à expliquer.
J'ai vérifié les points suivants :
Compilation réussie avec CMake, Visual Studio 2022 (toolset v142) et le SDK Archicad 28 build 4001.
Le fichier .apx est correctement généré.
Les fonctions exportées (GetExportedFuncAddrs et SetImportedFuncAddrs) sont bien présentes et ont été vérifiées avec dumpbin.
L'architecture du binaire est bien en x64.
Les ressources sont bien compilées et présentes dans le binaire (.rsrc non vide), notamment :
MDID (ID 32500, developerID = 0) ;
STR# (ID 32000) ;
les boîtes de dialogue.
Les tests ont été réalisés avec Archicad 28.1.0 build 4001, qui correspond exactement au SDK Archicad 28 build 4001 utilisé pour la compilation.
J'ai également testé en mode Démo, avec exactement le même résultat.
Dans les deux cas, Archicad affiche le message :
« Le fichier n'est toujours pas une Extension ou n'est pas à jour pour l'utilisation avec cette version Archicad. »
J'ai ensuite attaché le débogueur à Archicad et placé un point d'arrêt dans CheckEnvironment(). Celui-ci n'est jamais atteint, ce qui laisse penser que l'add-on est rejeté avant même l'exécution de la moindre fonction exportée.
Je me demande donc quelles vérifications Archicad effectue avant d'appeler CheckEnvironment(). Existe-t-il d'autres causes possibles de rejet (format des ressources, en-têtes PE, manifeste, options du linker, signature, structure du binaire, etc.) qui pourraient expliquer ce comportement ?
Si quelqu'un a déjà rencontré ce problème ou a des pistes de diagnostic, je suis preneuse.
Merci d'avance !