我有一个输出C ++ .exe的C ++项目。该项目依赖于某些.lib和.dll。如果要在另一台服务器上使用.exe,是否可以在不使用.lib,.dll和.obj的情况下传输.exe? .exe是否已构建为“包含”这些文件?
谢谢!
答案 0 :(得分:2)
C ++中的编译/链接过程很复杂,但通常遵循此路径。
cpp / hpp-> obj
obj-> lib(.a)用于静态库 要么 obj->动态库的dll(.so)
obj,lib,dll-> exe
链接过程将使用obj和静态库,并形成一个自包含的exe。链接器使exe依赖于dll,但该exe将不包含动态库。
回答您的问题,运行时将需要exe和dll。在运行时绝对不需要obj和静态lib文件。