Избавиться от DLL с исходным кодом?

Я хочу использовать LibSndFile в своем проекте. Он предоставляет набор dll для x32 и x64, но я хотел бы избавиться от dll. Можно ли собрать файлы .lib из исходных кодов, а затем избавиться от dll?

Мне не нужны .dll, потому что вам нужно скопировать их в папку Windows, чтобы ваша программа работала, и я бы предпочел иметь только один большой файл со всем в нем (и да, я пробовал ILMerger или IlRepack и т. д. без успеха)


person IonOne    schedule 20.08.2013    source источник
comment
вы должны скопировать их в папку Windows, это просто неправда. См. msdn.microsoft.com/en-us /library/ms682586(v=vs.85).aspx, настольные приложения. Он начинается с каталога, из которого загружено приложение, другими словами, поместите dll рядом с вашим exe, и все в порядке.   -  person stijn    schedule 20.08.2013
comment
Спасибо за ваш ответ. Это dll, а не exe (извините, я не упомянул об этом), и я пытался поместить dll-библиотеку рядом с dll, но это не сработает.   -  person IonOne    schedule 20.08.2013
comment
Я не знаю, насколько отзывчивы разработчики используемого вами хоста плагинов, но они должны использовать LoadLibraryEx с флагом LOAD_WITH_ALTERED_SEARCH_PATH при загрузке плагинов, в частности, чтобы плагины могли загружать свои собственные зависимости из своего собственного каталога. Может быть, вы можете сообщить об ошибке с ними.   -  person Sebastian Redl    schedule 20.08.2013


Ответы (1)


Вы можете прочитать эту тему: Как преобразовать динамическую dll в статическую библиотека?

Затем вы можете попробовать Enigma Virtual Box: http://enigmaprotector.com/en/aboutvb.html Последний позволяет упаковать все ваши файлы (dll и ресурсы) в один исполняемый файл.

person Archie    schedule 20.08.2013
comment
Спасибо за ваш ответ. Enigma звучит великолепно, но мне не удалось заставить работать упакованную dll (у меня мало памяти). также я пробовал DLL2LIB раньше, но безуспешно - person IonOne; 20.08.2013