2010-07-30 3 views
1

J'écrivais un wrapper C++/cli pour une application C++ native, et quand j'ai fini d'écrire du code, ça se construit si bien. Le C++ natif est construit dans un fichier de bibliothèque statique (.lib), et je l'ai référencé dans mon wrapper C++/cli, puis j'ai écrit une application console C# pour tester le wrapper. Cependant, le débogueur peut être lancé. Si j'ai commenté les lignes qui référencent le code dans l'encapsuleur, cela a bien fonctionné.C++ msvcp90d.dll Exception de violation d'accès

Alors quand le débogueur ne peut pas être lancé, j'ai trouvé qu'une exception non gérée est apparue dans la fenêtre de sortie de Visual Studio: exception non gérée occulte dans msvcp90d.dll, erreur de violation d'accès: 0ff ...

Est-ce que quelqu'un peut énumérer quelques senarios communs pourraient causer ce problème? Très apprécié avec n'importe quelle réponse.

Répondre

0

Je voudrais prendre du recul et commenter le code C++ dans votre bibliothèque statique et retourner simplement à partir de celui-ci. Et vérifiez si l'intégration fonctionne.

Pouvez-vous vérifier les options de génération de code C++? Essayez de passer à des bibliothèques d'exécution multithread.

+0

Merci pour la réponse, je ne peux tout simplement pas accéder au code dans la bibliothèque statique. J'ai déjà changé cela en libs d'exécution "multi-thread", ça ne marche pas. – jinge

0

Pouvez-vous vérifier la bibliothèque d'exécution? /MD devrait fonctionner. Vous devez recompiler le code avec les indicateurs/MD et/MDd, ou remplacer les vôtres par/MT et/MTd.

Questions connexes