2014-06-22 2 views
0

Je crée une application en utilisant mes propres fichiers DLL en C#.Utiliser Open CV dans la bibliothèque de classes

Je voudrais créer une bibliothèque de classes utilisant Open CV. Je dois ajouter une référence au projet - Emgu.CV.dll et Emgu.Util. C'est ok mais OpenCV a aussi besoin de fichiers dll supplémentaires par exemple "opencv_calib3d231.dll" et d'autres. Ils doivent être dans le dossier Déboguer lorsque je veux exécuter un Projet en utilisant OpenCV. Mais que se passe-t-il si je veux utiliser OpenCv dans ma propre bibliothèque de classes? Où dois-je mettre ces fichiers DLL supplémentaires?

Une idée pour résoudre ce problème?

Répondre

0

Vous ne pouvez pas exécuter une bibliothèque de classes en elle-même: en fin de compte, une bibliothèque de classes sera toujours (indirectement) utilisée par un programme exécutable. Vous devez vous assurer que les dépendances de votre bibliothèque de classes peuvent être trouvées par cet exécutable, par exemple en les plaçant dans le répertoire où se trouve l'exécutable.

Donc, si vous avez un projet exécutable (Projet A) et une bibliothèque de classes (Projet B) utilisé par le projet exécutable qui a des dépendances natives comme opencv_calib3d231.dll, il suffit de s'assurer que les dépendances natives se trouvent dans le répertoire du projet A lors de l'exécution. Si vous développez une bibliothèque de classes qui sera utilisée par d'autres développeurs dans leurs programmes, vous devez distribuer les dépendances de votre bibliothèque de classes avec la bibliothèque (ou au moins fournir des instructions sur la façon d'obtenir les dépendances dans votre documentation) . Ils peuvent ensuite s'assurer que le système d'exploitation peut trouver les dépendances lors du chargement de votre bibliothèque de classes.

Questions connexes