打包到安装包中时,我可以 delete/exclude 哪些 cpp 文件类型?

What cpp file types can I delete/exclude when packaging into an install bundle?

我想把我的可执行文件和其他需要的文件打包成一个安装文件(使用NSIS),以便其他人安装和使用。有一些文件类型我不确定它们是否需要安装或删除它们是否安全。

下面是项目文件夹中文件的随机示例以及VS自动生成的Debug文件:

我已经删除了 .user 文件,因为我知道这不是必需的,但不确定何时删除 .vcxproj、.tlog、.build.cppclean、.idp 和 .pdb 文件。另外,我是否需要保留 .obj 文件和 .cpp 文件?

这是我第一次尝试这样做,我只是想看看它是如何工作的,所以提前致谢。

您通常只需要 .exe。您的应用程序可能依赖于自定义 .dll 或 C++ 运行-time 库,在这种情况下,您可以将自定义 .dll and/or 与 C++ 可再发行组件捆绑在一起。

您的屏幕截图是调试版本,您通常希望分发发布版本,因为它通常更小并且包含更优化的代码。

.obj 文件包含每个源文件的机器码,链接器在将所有必需的代码合并到您的 .exe 时使用它。

.pdb 文件包含调试信息。您不应该分发它们,但如果您需要调试应用程序的已发布版本,自己存储它们会很有帮助。

Debug和Release中的其余文件也可以忽略。

如果您的项目是开源的,那么您可以包含 c/c++ 文件和 Visual Studio 项目文件。或者您可以将它们上传到 Github。

在 NSIS 中你可以这样做

InstallDir $ProgramFiles\MyApp
Page Directory 
Page InstFiles

Section
SetOutPath $InstDir
File myproject\Release\MyApp.exe
File mylibrary\Release\*.dll
SectionEnd

最好在新安装的 Windows 实例上测试您的安装程序。理想情况下,您需要的最低版本,Windows 7 等。这应该允许您验证您是否包含了应用程序所需的所有文件。