对vc不怎么熟,但是项目要用到,只好来请教。
假如现在有一个vc项目,生成的时候Release文件夹里会生成一个dll文件,比如a.dll
现在项目里需要调用另一个dll,比如b.dll
有没有可能做到这样呢:
生成a.dll的时候,a.dll里把b.dll也包含进去了。
从而,在另外的环境(这个环境里没有b.dll文件),单独使用a.dll的时候,也可以自由调用b.dll里的函数。
或者说,在a.dll里面涉及到调用b.dll里的函数的地方,不用另外把b.dll放入库中,而可以正确使用?
------解决方案--------------------------------------------------------
如果是托管的 C++ 那么可以用 ILMerge.exe 工具,将两个dll合并成一个。
http://blog.csdn.net/fangxinggood/article/details/5963275
------解决方案--------------------------------------------------------
你可以编写一个代理dll,负责转发调用。
或者你可以给a.dll增加这样的函数,每个对应b.dll的函数,然后直接调用返回。