0

我最近的任务是对我们公司的一种产品进行完全重命名。目前它是在 Visual Studio 2008 中使用 MFC 构建的。我尝试通过使用查找/替换以及重命名各种项目属性从 Visual Studio 中进行重命名;但是,当我运行它时(成功构建/链接后),我收到以下错误:

运行时错误!

程序:d...

R6034

应用程序试图错误地加载 C 运行时库。请联系应用程序的支持团队以获取更多信息。

在此处输入图像描述

我想我搞砸了,所以我提取了一个干净的项目副本,确认它构建/链接/运行良好,然后继续使用外部编辑器重命名。经过一个乏味的小时左右后,我重新命名了所有内容。运行时,我遇到了同样的 R6034 错误。

我开始深入研究这个错误,大多数时候它似乎是由缺少清单文件引起的。我比较了应用程序设置的良好(原始名称)副本,除了几个名称之外,一切都是相同的。清单正在生成并被嵌入。我在 VS2008 中打开了可执行文件并确认 RT_MANIFEST 存在并且 ID 为 1。清单本身与工作程序集中的清单相同。我尝试使用外部清单并发生了同样的问题。

看起来我可能不得不手动移植整个应用程序,但我仍然无法知道这是否真的有效。有任何想法吗?

4

1 回答 1

0

嗯,我想通了。我希望我有一些深刻的洞察力,但这是一个简单的错误:

我与重命名(错误 #1)同时执行的其他任务之一是删除解决方案中的英特尔 Fortran 库项目。该代码很少(如果曾经更改),因此我们希望将其删除以简化在未安装英特尔编译器的另一台机器上构建的过程。此步骤的一部分是将库手动添加到链接器输入列表中。好吧,我不小心将发布库添加到调试版本中,这就是问题的原因。一旦我更正它并使其成为正确链接的调试版本。

我不太明白这导致问题的原因。我过去曾在调试版本中使用过发布库(反之亦然),但由于某种原因,将英特尔和/或 Fortran 混在一起搞砸了。

感谢大家的时间。

于 2012-12-19T17:07:25.557 回答