我有一个Win32 C ++应用程序,我已经在Microsoft Visual Studio C ++ Express 2010中运行Windows 7的PC上编译。该应用程序在发布模式下使用\ MT运行时标志(multithreading)编译。
我的问题:当我尝试在运行Windows Vista的笔记本电脑上运行我的.exe时,应用程序崩溃,从不打开主窗口。 我正在使用的.exe是从Visual Studio项目的“释放”文件夹的输出。
我已经检查了应用程序中的大部分win32函数,它们都在Windows 2000及更高版本上运行。 我也将Visual Studio项目移到了Windows Vista笔记本电脑上,编译完成,运行良好并且工作正常。
为什么.exe崩溃? 这是否意味着我可以让我的.exe在不同版本的Windows操作系统上工作的唯一方法是使用安装程序? .exe只有175kb的大小,所以安装程序可能会大于输出.exe大声笑?
这听起来像你需要VS2010运行时可重新分配的软件包。 请注意,链接是针对VS2010 SP1的,如果您没有使用SP1进行编译,则可能需要使用VS2010而不使用SP1。