Подтвердить что ты не робот

"Приложение не смогло начать правильно" после включения vld.h

Я включил vld.h, vld.lib и vld_x86.dll в свой проект Win32 с визуальной студией 2010. Он работает правильно, но когда я его выполняю, он вылетает с этим сообщением:

"The application was unable  to start correctly (0xc0150002). Click OK to close the application."

Я запускаю его с помощью Dependency Walker, но он показывает боковую ошибку следующим образом:

Error: The Side-by-Side configuration information for "D:\project\..\debug\VLD_X86.DLL" contains errors. The application has failed to start because its side-by-side configuration is incorrect.)

Я пробовал различные способы, в том числе переделывать манифест, как это предлагается здесь:

https://vld.codeplex.com/discussions/360243

Он работает только правильно, если я прокомментировал следующую строку на vld.h

// Force a symbolic reference to the global VisualLeakDetector class object from
// the DLL. This ensures that the DLL is loaded and linked with the program,
// even if no code otherwise imports any of the DLL exports.
//#pragma comment(linker, "/include:[email protected]@[email protected]@A")

Однако, если я прокомментировал эту строку, vld вообще ничего не выводит (так же, как без интеграции vld)

Кто-нибудь, у кого есть эта проблема раньше? Любые предложения будут оценены, спасибо заранее!

4b9b3361

Ответ 2

У меня была эта проблема (это сообщение об ошибке) тоже. В моем случае vld_x86.dll, скорее всего, в другой, чем ожидаемая версия, была предварительно установлена ​​и зарегистрирована каким-либо другим программным обеспечением. (Кажется, всем нравится VLD) Таким образом, он был загружен вместо vld_x86.dll в пути, к которому был построен VLD. Отмена регистрации чужой DLL решила проблему.

Следовательно, вы можете проверить выход для загрузки DLL с экзотических путей.

Ответ 3

ЕСЛИ ВЫ ИСПОЛЬЗУЕТЕ ВИЗУАЛЬНЫЕ СТУДИИ:  - Самое простое исправление, если вы не возились со своими свойствами проекта в разделах include, linker, убедитесь, что вы не добавляли вручную VLD вручную. Вместо этого очистите включенные вами здесь и сохраните свой проект. -Закройте его, затем установите последний VLD, и он автоматически создаст наследование родительского наследования для ваших проектов визуальных студий, включая пути среды.