我有 Visual Studio 2012 update 4 和 Windows SDK 7.1。
我选择“Visual Studio 2012 - Windows XP (v110_xp)”工具包,并将包含目录更改为使用 $(WindowsSdkDir_71A)。
编译期间没有给出任何错误(例如,它成功找到 winres.h),但当我尝试在 Windows XP SP3 上运行 exe 时,它仍然错误:“test.exe 不是有效的 Win32 应用程序。”
对于测试来说,它只是一个 C++ hello world。
#include <cstdio>
int main(void)
{
printf("Hello, World!\r\n");
return 0;
}
如何使用 Visual Studio 2012 为 XP 进行编译?
我应该检查什么才能使其正常工作?
如何在命令行上测试编译?
我目前正在命令行上进行测试,仍然给出无效的 win32 错误:
"C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\cl.exe" /EHsc /MT /I"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include" /I"C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include" main.cpp /link /LIBPATH:"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib" /LIBPATH:"C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib"
Update:如果我在命令行中使用这些指令,它会起作用:http://blogs.msdn.com/b/vcblog/archive/2012/10/08/10357555.aspx http://blogs.msdn.com/b/vcblog/archive/2012/10/08/10357555.aspx
如果我将这些设置放入我的系统环境变量中,我也可以让 msbuild 和 Visual Studio 编译成功,但这并不理想。