我在C++中有一个VS2008 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用户文件等),但没有成功。
知道是什么原因造成的吗?或者我如何尝试调试它?
编辑:将子系统标志设置为"Not“,更改它非常有效。谢谢!
发布于 2014-06-27 19:21:55
我在这个项目中没有一个名为",0“的文件,所以我不知道它是从哪里来的。
它来自链接器的/SUBSYSTEM选项。这在VS2012中更显着,它在默认情况下不再支持XP,因此可以显式地了解子系统版本号。现代Windows版本的6,0,这就是,0的来历。
右键单击项目、属性、链接器、系统。必须更改SubSystem设置,它不能是“未设置”或空白。为控制台模式应用程序选择“控制台”,为GUI应用选择"Windows“,或者选择DLL。
https://stackoverflow.com/questions/24457203
复制相似问题