MSVC ++为希望仅部署单个可执行文件的程序员提供优化。您可以使用/ MT构建以将C ++运行时库和标准C ++库链接到EXE中;或/ MD调用C ++运行时库(.DLL文件)。
但对于您自己的代码或第三方DLL,是否可以只生成一个可执行文件?
假设项目PrjA
使用PrjB
;现在,PrjB
仅生成动态库PrjB.dll
,而不是静态库PrjB.lib
。有一种方法可以配置它们,以便PrjA
可以生成PrjA.exe
,其中嵌入PrjB.dll
,这样只需要部署一个文件?
注意:约束条件是仅提供PrjB.DLL
,不提供静态库prjB.LIB
。这个问题与C++ How to compile dll in a .exe不同。
MSVC /MD, /MT config using C++ Runtime Library:
/ MD使应用程序使用特定于多线程的和 DLL特定版本的运行时库。
/ MT使应用程序使用运行时库的多线程静态版本。