Merge several native DLLs into one DLL

2019-02-09 06:40发布

I've got a lot of small DLLs which I would like to make into one big(er) DLL (as suggested here). I can do so by merging my projects but I would like a less intrusive way.

Can several DLLs be merged into one unit?

A quick search found this thread that claims this is not possible. Does anyone know otherwise?

Note that I'm talking about native C++ code not .NET so ILMerge is out.

3条回答
孤傲高冷的网名
2楼-- · 2019-02-09 07:16

I don't know about merging dlls, but I'm sure you can link the intermediate object files into one dll. This would only require changes in your build script.

查看更多
可以哭但决不认输i
3楼-- · 2019-02-09 07:26

Also, there was a product that made a .LIB out of .DLLs. You could then link your exe against that .LIB and get rid of the .DLLs altogether. Perhaps you could link a .DLL out of the .LIB - I'm not sure.

The product is here: http://www.binary-soft.com/dll2lib/dll2lib.htm I'm not sure, if it works anymore, if it's supported or even sold. It sure appears pricey, but it used to have (nag-enabled) free trial period.

查看更多
小情绪 Triste *
4楼-- · 2019-02-09 07:33

As far as I know you cannot merge DLL files directly. But it should be possible with static libraries or object files. If it is possible for you to build static libraries of your projects you can merge them using the Library Manager by extracting object files from all libraries and packaging them into a new library.

查看更多
登录 后发表回答