Как вы комбинируете DLL с вашим приложением? - PullRequest
0 голосов
/ 18 января 2012

Вроде простой вопрос, но когда я компилирую приложение, я хотел бы сделать так, чтобы пользователю не нужны все объекты dll / shared и он мог иметь только один автономный исполняемый файл. Как мне это сделать? Либо в Makefile, либо в настройках CodeBlocks.

Ответы [ 2 ]

3 голосов
/ 18 января 2012

Если у вас есть источник, или если у вас есть правильный тип .lib файла, вы можете статически связать.(Однако обратите внимание, что библиотеки DLL также иногда поставляются с файлом .lib, и этот файл - просто оболочка для вызова библиотеки DLL.) Если вы можете статически связать, у вас будет один исполняемый файл.

Кроме этого, создайте каталог установки и поместите DLL в тот же каталог, что и исполняемый файл.Это самый простой способ.

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

3 голосов
/ 18 января 2012

Вы можете использовать библиотеку статических ссылок вместо DLL, если у вас есть исходный код.

...