我有一个C++项目,可以生成一个C++ .exe可执行文件。该项目依赖于一些.lib和.dll文件。如果我想在另一台服务器上使用.exe文件,我可以仅传输.exe文件而不需要.lib、.dll和.obj文件吗?.exe文件是否已经构建包含这些文件?谢谢!
在C ++中的编译/链接过程很复杂,但通常会遵循以下路径:cpp / hpp-> objobj-> lib(.a)用于静态库 或 obj-> dll(.so)用于动态库obj,lib,dll-> exe 链接过程将获取obj和静态库并形成一个自包含的exe。 链接器使exe依赖于dll,但exe不会包含动态库。回答您的问题,exe和dll(s)在运行时需要。 obj和静态lib文件绝对不会在运行时需要。