可执行文件C++包括.obj,.lib和.dll吗?

Do C++ executable includes .obj, .lib and .dll?

本文关键字:dll lib C++ 包括 obj 可执行文件      更新时间:2023-10-16

我有一个输出C++ .exe C++项目。该项目依赖于一些 .lib 和.dll。如果我想在另一台服务器上使用该.exe,是否可以只传输不带 .lib、.dll 和 .obj 的.exe?构建.exe是否是为了"包含"这些文件?

谢谢!

C++中的编译/链接过程很复杂,但通常遵循此路径。

CPP/HPP-> OBJ

obj -> lib (.a( 用于静态库 或 obj -> dll (.so( 用于动态库

obj, lib, dll -> exe

链接过程将采用 obj 和静态库并形成一个自包含的 exe。 链接器使 exe 依赖于 dll,但 exe 将不包含动态库。

回答您的问题,运行时将需要 exe 和 dll。 运行时绝对不需要 obj 和静态库文件。