我在VS2008中有一个C ++ DLL,我试图转换为VS2012。 Windows 7 64位,但编译为32位应用程序。
我收到以下链接器错误:
1> Debug_Win32\XYZ.obj
1> Debug_Win32\ABC.obj
1>
1> Starting pass 1
1>LINK : fatal error LNK1181: cannot open input file ',0.obj'
我没有名为",0"的文件。在项目中,所以我对它的来源感到困惑。
我已经完成了一些搜索并尝试了所有我见过的各种修补程序(修复VS 2012,删除所有构建输出目录,删除Microsoft.Cpp.X32.user文件等),但是没有运气。
知道是什么导致这个或我如何尝试调试它?
编辑:如果子系统标志设置为"未设置",更改它的效果很好。谢谢!
答案 0 :(得分:3)
项目中没有名为“,0”的文件,所以我对它的来源感到困惑。
它来自链接器的/ SUBSYSTEM选项。在VS2012中哪个更明确,默认情况下它不再支持XP,因此明确了解子系统版本号。 6,0
适用于现代Windows版本,,0
来自哪里。
右键单击您的项目,属性,链接器,系统。您必须更改子系统设置,它不能是“未设置”或空白。为控制台模式应用选择“控制台”,为GUI应用或DLL选择“Windows”。