如何构建C++应用程序,它运行在普通的旧版XP SP2上,使用Visual Studio 2008并没有并排的DLL?

Pie*_*aud 1 c++ crt side-by-side visual-studio-2008

我想只用一次调用编译一个C++项目,WinExec以便用一些命令行参数启动另一个可执行文件.我不知道,指定在我的项目,以获得产生,无需微软并排侧的DLL,我不希望有安装我的目标系统上工作的可执行什么设置.任何提示?

症状是一个无法启动的应用程序,以下事件被写入应用程序日志(从法语自由翻译):

Error, SideBySide, event #33
Microsoft.VC90.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8" cannot be found. 
Run Code Online (Sandbox Code Playgroud)

更新:我知道使用WinExec是不好的做法,但它就像一个魅力,微软不可能在任何未来的API版本中删除它,不是吗?

Ecl*_*pse 7

如果您指定要静态链接运行时(/ MT或/ MTd),那么您应该很好.项目属性 - > C/C++ - >代码生成 - >运行时库


小智 7

如果您只需要CreateProcess/ShellExecute(自NT 3.1/Win 95以来不推荐使用WinExec),则根本不需要任何运行时库.在项目属性/配置/链接器/输入中启用忽略所有默认库并将kernel32.lib添加到其他依赖项.