当我尝试调试时,Visual Studio 2008说“指定的文件是一个无法识别或不支持的二进制格式”

时间:2011-07-27 15:35:18

标签: c++ visual-studio-2008

我有一个包含两个C ++项目的VS2008解决方案。一个是Win32 / console .dll,另一个是测试dll的测试程序,也是Win32控制台应用程序。

当我构建解决方案时,即使使用干净的构建并将Debug Command设置为可执行文件的硬编码路径,尝试调试也会显示消息框,

  

“指定的文件是无法识别或不支持的二进制格式”。

它试图执行的程序是tester.cpp的源代码。

有人可以建议治愈吗?我可以提供哪些信息来帮助解决这个问题?

3 个答案:

答案 0 :(得分:17)

请确保您的测试应用程序(它应该是可执行文件:.exe)是您正在运行的应用程序而不是DLL。例如,将其设置为“startup project”。

您可以在解决方案资源管理器中右键单击相应的项目并选择“设置为启动项目”。

答案 1 :(得分:0)

我有一个包含两个C ++项目的VS2010解决方案: 一个项目生成.lib文件,另一个项目(包含“main.cpp”)用于测试.lib文件提供的功能。

为此,我转到解决方案资源管理器,右键单击“第二个项目”并转到参考。当您单击“添加新引用”时,它已包含对第一个项目的引用。选择它。

现在,我需要将'2nd Project'(包含“main.cpp”)设置为启动项目,以便我可以调试代码。为此,再次转到解决方案资源管理器,右键单击“第二个项目”并转到设置为启动项目

答案 2 :(得分:-2)

解决此问题的最简单方法是删除.suo文件并重新构建项目。

首先,您必须更改文件夹选项,以显示隐藏文件(因为.suo文件通常是隐藏的)。如果您不确定如何操作,请参阅http://windows.microsoft.com/en-sg/windows/show-hidden-files#show-hidden-files=windows-7

其次,浏览到保存相应Visual Studio Solution文件的位置,然后删除.suo文件。如果您需要了解.suo文件的更多信息,请参阅http://msdn.microsoft.com/en-us/library/bb165909.aspx

最后,重建你的项目。

这种方法通常解决了我遇到的大多数类似问题。

希望这有帮助!