Объединение нескольких родных DLL в одну DLL

У меня есть много маленьких DLL, которые я хотел бы превратить в одну большую DLL (как предложено здесь). Я могу сделать это, объединив свои проекты, но я хотел бы менее навязчивый способ.

Можно ли объединить несколько DLL в один модуль?

Быстрый поиск нашел это thread, в котором утверждается, что это невозможно. Кто-нибудь знает иначе?

Обратите внимание, что я говорю о собственном коде C++, а не о .NET, поэтому ILMerge отсутствует.


person Motti    schedule 28.09.2008    source источник


Ответы (3)


Я не знаю об объединении dll, но я уверен, что вы можете связать промежуточные объектные файлы в одну dll. Для этого потребуются только изменения в вашем сценарии сборки.

person Kasprzol    schedule 28.09.2008

Насколько я знаю, вы не можете напрямую объединять файлы DLL. Но это должно быть возможно со статическими библиотеками или объектными файлами. Если вы можете создавать статические библиотеки своих проектов, вы можете объединить их, используя ссылку Менеджер библиотек, извлекая объектные файлы из всех библиотек и упаковывая их в новую библиотеку.

person xardias    schedule 28.09.2008

Кроме того, был продукт, который делал .LIB из .DLL. Затем вы можете связать свой exe-файл с этим .LIB и полностью избавиться от .DLL. Возможно, вы могли бы связать .DLL с .LIB - я не уверен.

Продукт находится здесь: http://www.binary-soft.com/dll2lib/dll2lib.htm Я не уверен, работает ли он сейчас, поддерживается или вообще продается. Это, конечно, кажется дорогим, но раньше у него был бесплатный пробный период (с поддержкой ворчания).

person Community    schedule 28.09.2008