繁体   English   中英

从VS 2008到VS 2012的LNK1181错误转换

[英]LNK1181 error converting from VS 2008 to VS 2012

我在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”的文件,所以我对它的来源感到困惑。

它来自链接器的/ SUBSYSTEM选项。 在VS2012中更明确,默认情况下它不再支持XP,因此可以明确了解子系统版本号。 6,0对于现代Windows版本,这是,0来源。

右键单击您的项目,属性,链接器,系统。 必须更改子系统设置,该设置不能为“未设置”或空白。 为控制台模式应用程序选择“控制台”,为GUI应用程序或DLL选择“ Windows”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM