2016-05-04 15 views
0

Итак, у меня есть dll sSP. Я работаю (хотя я считаю, что тип dll не имеет значения). В любом случае, dll отлично работает и компилируется без ошибок для 32- и 64-разрядных архитектур.Windows Cant см. 64-битная dll

32-разрядная dll отлично работает на 32-битных боксах. Тем не менее, всякий раз, когда я пытаюсь загрузить 64-битную dll на 64-битной коробке, в окнах говорится: «Невозможно найти указанный модуль.

Я проверил экспорт, и все хорошо на этом фронте. сделать rundll32 на DLL, он говорит, что не может найти его.

так мне интересно, если кто-то видели это раньше, где окно, как представляется, не в состоянии увидеть библиотеки DLL.

заранее спасибо

+0

Запустить procmon и посмотреть, где Windows ищет эту DLL и какой результат Код – Marged

+0

Запустить ' где .dll' для проверки 64-битной dll находится в пути. – jdarthenay

+0

Что означает 'SSP' в этом контексте? Тег ssp, конечно, не имеет последовательного использования. –

ответ

0

1, вы можете использовать Walker Dependency (http://www.dependencywalker.com/), чтобы проверить, ссылается ли dll на другие DLL (что может отсутствовать).

2, для вас устранения неполадок, вы можете построить библиотеку DLL с/MT вместо/MD (а/MT объединит все зависимые библиотеки DLL в свое собственное)

3, чтобы убедиться, что все DLLs (& 2-й (например, SET PATH = d: \ somefolder)

+0

Так что я сделал некоторые пророк, и результаты были, к сожалению, менее полезными. однако, похоже, он не может увидеть манифест для dll. теперь я не помню, как явным образом создавал манифест для dll, просто source.def, и он работает на 32-битном. И я могу посмотреть на экспортированные функции. Я сейчас ищу добавить манифест прямо в dll. – m2abrams15