C ++: загрузить dll в подкаталог - манифест

Я хотел бы использовать манифест для загрузки dll c ++ в подкаталог каталога exe. Например: структура папок, как показано ниже:

введите описание изображения здесь

LoadApp зависит от LoadDll, оба являются собственными проектами C ++. LoadDll.dll находится в подкаталоге «sdk». Запускаем LoadApp.exe, пишет «Не могу найти LoadDll.dll». Я встроил файл sdk.manifest в LoadApp.exe, но, похоже, он не работает. Вот содержимое sdk.manifest:

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">

  <file name="sdk\LoadDll.dll">
  </file>

</assembly>

Я знаю, что использование LoadLibrary или SetDllDirectory или пути к среде может решить проблему с загрузкой dll. Но я хотел бы знать, что не так с манифестным решением? Можно ли использовать файл манифеста для собственных проектов c ++?


person ldlchina    schedule 21.05.2018    source источник
comment
Взгляните на this и это.   -  person Ron    schedule 21.05.2018
comment
@Ron, я пробовал то, что вы связали, но оба не сработали.   -  person ldlchina    schedule 22.05.2018
comment
Вы можете добавить манифест в собственные EXE-файлы, и он будет работать для таких вещей, как осведомленность о DPI. Я понятия не имею об этом использовании.   -  person Dave S    schedule 22.05.2018