windows - 使用 Visual C++ 2005/2008/2010 的可移植 Windows 应用程序(不是源代码!)?

标签 windows visual-studio visual-c++ backwards-compatibility binary-compatibility

我指的“可移植”并不是指您可以在 Linux 或其他系统下重新编译源代码,而是指不需要安装的仅限 Windows 的应用程序,因此您只需将 .exe 和一些dll-s 放在一个文件夹中,然后将其复制到另一台机器上,它就可以工作了。

对于 VS 2003 和更早版本,它根本不需要任何努力,但是对于 2008 年,将丢失的 dll-s 放入同一文件夹是行不通的,它需要安装可重新分发的文件。记得听说可以用manifest解决问题,以前没遇到过。

那么,我该怎么做呢?

最佳答案

与 CRT、MFC 和您使用的任何其他内容的静态库链接。确保您不使用 Vista 或 Win7 中引入的 Win32 API(即保持 WIN32_WINNT <= 0x501)。使用 Dependency Walker确保您的可执行文件仅导入 kernel32、user32、gdi32 或保证在默认 Windows 安装中存在的其他内容。

关于windows - 使用 Visual C++ 2005/2008/2010 的可移植 Windows 应用程序(不是源代码!)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5575819/

相关文章:

c++ - 获取 RAM 系统大小

ruby - 在 Windows 上安装 "kgio-2.9.2"Gem 时出错

c# - WPF 中的可拖动 Canvas 使用 'Thumb'

visual-c++ - 为什么某些 Unicode 字符会导致 std::wcout 在控制台应用程序中失败?

c++ - MSVS C++,如何编译扩展名为 *.i 的已预处理文件?

c++ - Qt Creator 找不到标题(说 : "No such file or directory")

windows - 我最新的 Windows 10 SDK 安装不包含 rc.exe 和 rcdll.exe,因此出现 LNK1158 错误

c++ - 主游戏循环中的时间计算

c# - VS2008 的本地窗口出现奇怪的结果

c - 我怎样才能摆脱VC中的0xFEEFEE