链接vc ++中的错误

时间:2011-12-21 15:21:29

标签: c++ visual-c++ vc6 linker-errors

我是VC ++的新手,我是第一次在VC ++上运行程序。 我严格遵循Microsoft Programming Visual C ++一书中给出的说明,并根据给出的指令创建了一个项目。

关于ex03a.exe:             我在路径“... \ Ex03a \ Debug \”中看到并且没有文件存在,例如ex03a.exe。

我通过执行一个简单的'Test.cpp'文件来测试我的vc ++。 我能够运行简单的c ++程序,我得到了输出。而且Test.exe位于'\ Test \ Debug \ Test.exe'中

我的问题:     我怎么能摆脱这个错误。 enter image description here

2 个答案:

答案 0 :(得分:3)

几乎总是当VS说它无法打开文件时,它就是打开它进行写作。

几乎总是这不起作用,因为文件被锁定了。

几乎总是这是因为该文件是当前正在运行的可执行文件: - )

这是Windows的一个特色 - exe不是简单地加载的,它在所有运行时都被锁定。这可能是由于exe文件(实际上称为可移植可执行文件,无论出于何种原因)不仅包含代码,而且通常还包含任意数量的资源(如图像等),并且动态更改文件会使当aplication在运行时尝试读取其中一个资源时,它会崩溃。

因此,我建议寻找退出/关闭/终止应用程序的方法,因此它不再运行,因此该文件不再被锁定,因此在这种情况下链接器可以完成其工作。

错误信息,顺便说一句,从我的观点来看并不直观 - 这个问题是SO标准,它至少可以尝试告诉你关于这个问题的可能来源的任何事情 - afaik,这还没有到目前为止已有所改进,可能是因为大多数开发人员之前已经看过这个,发现它为什么会发生,所以没有任何问题。

答案 1 :(得分:0)

我在该截图中看到,您正在运行多个版本的VC6。

现在,如果在不关闭以前编译的exe的情况下运行该程序的新编译的exe,则会出现该错误。

VC尝试覆盖当前正在运行但却遇到确切错误的exe。

完成后务必关闭程序。