Импорт дочерних процессов из библиотеки времени отладки не может быть разрешен - PullRequest
1 голос
/ 24 июня 2009

Я использую Visual Studio 2005 Pro с пакетом обновления 1 (SP1) под Windows XP 32 с пакетом обновления 3 (SP3) для создания двух собственных EXE-файлов, A и B. A запускает B. Следующий сценарий происходит в моей системе разработки, которая на данный момент также является моей тестовой системой.

Когда я связываю A и B с отладочной версией библиотеки времени выполнения, A запускается успешно, но затем не запускается B, потому что системный загрузчик не может найти отладочную версию библиотеки времени выполнения.

У меня есть теория о том, почему это так: отладчик каким-то образом поместил отладочную версию библиотеки времени выполнения в путь поиска DLL таким образом, что он не распространяется на A, поэтому, когда загрузчик пытается разрешить импорт B , отладочная версия библиотеки времени выполнения не найдена.

Как лучше всего это преодолеть? Поиск файла, который содержит отладочную версию библиотеки времени выполнения и добавление ее родительского каталога в путь поиска DLL, кажется наиболее простым подходом, но я не могу не задаться вопросом, почему отладчик не сделал этого для меня. Возможно, у него есть веская причина, которую я не должен пытаться угадать.

Если это правильный путь, как я могу избежать жесткого кодирования полного пути к соответствующему каталогу?

Идеи

...