如何将动态DLL转换为静态库?

xuf*_*fan 16 c++ dll linker static-libraries

我写了一个程序helloworld.exe; 这取决于a.dll.我没有a.dll的源代码,这是一个动态的dll.如何将其更改为静态库,以便将其链接到helloworld.exe?

Jer*_*fin 9

对不起,但没有直接的办法.DLL是完全链接的可执行格式文件,其中静态库是一起收集的单独目标文件的集合.通过一些工作,您可以将静态库转换为DLL,但执行相反操作并非易事(温和地说).


Bil*_*eal 5

正如杰瑞所说,你不能直接做到.但是,您可以将程序打包成类似于自解压RAR文件的程序,该文件包含作为单个EXE的一部分的DLL,它自动将EXE和相关的DLL提取到临时文件夹并启动主程序.