2010-07-30 2 views
1

Я писал оболочку C++/cli для собственного приложения на C++, и когда я закончил писать код, он так хорошо строился.C++ msvcp90d.dll Исключение нарушения прав доступа

Собственный C++ построен в файле статической библиотеки (.lib), и я ссылался на него в своей оболочке C++/cli, затем я написал консольное приложение C# для проверки оболочки. Однако отладчик может быть запущен. Если я прокомментировал строки, которые ссылались на код в оболочке, он работал хорошо.

Так что, когда отладчик не может быть запущен, я обнаружил, что в окне вывода визуальной студии появилось необработанное исключение: в статье msvcp90d.dll появилось исключение без исключения, обнаружение ошибки при нарушении прав доступа: 0ff ......

Может ли кто-нибудь перечислить некоторые общие сенарии, может вызвать эту проблему? Очень благодарен за любой ответ.

ответ

0

Я бы сделал шаг назад и прокомментировал код C++ в вашей статической библиотеке и просто вернулся с нее. И проверьте, работает ли интеграция.

Можете ли вы проверить параметры генерации кода на C++? Попробуйте перейти на многопотоковые библиотеки времени выполнения.

+0

Спасибо за ответ, я просто не могу получить доступ к коду в статическом lib. Я уже изменил это на «многопоточные» среды выполнения, это не сработает. – jinge

0

Вы можете проверить библиотеку времени выполнения? /MD должен работать. Вам необходимо перекомпилировать код с флагами/MD и/MDd или изменить свои настройки на/MT и/MTd.