2010-03-14 6 views

Répondre

1

Ooh ... cela me ramène. Un peu de deviner du problème le plus commun que j'ai jamais rencontré.

Si les DLL de GNUstep sur Windows fonctionnent comme ils l'ont fait il y a dix ans, vous:

  1. Lien vers la DLL comme vous le feriez pour tout autre DLL. Je ne me souviens pas de la syntaxe explicite, mais il devrait y avoir environ un million d'exemples disponibles

  2. Assurez-vous que vous avez une référence statique à un symbole dans chaque DLL du programme principal (ou d'une autre DLL).

En particulier, lors de la compilation quelque chose qui est pur Objective-C, il est assez facile de se retrouver dans une situation où le chargeur de lien Windows ne charge pas une DLL, car il ne voit pas une référence difficile à n'importe quel symbole dans cette DLL. Quand je suis tombé sur ce avec des applications WebObjects, je généralement exporter quelque chose comme:

int businessLogicDLLVersion; 

Et puis reportez-vous à ce symbole tout à fait spécifiquement dans mon programme principal. Cette référence statique était suffisante pour que le chargeur de liens charge la DLL et le runtime pour connecter toutes les classes.