Borland C++ Builder 6 上的奇怪链接器错误

Posted

技术标签:

【中文标题】Borland C++ Builder 6 上的奇怪链接器错误【英文标题】:Weird linker error on Borland C++ Builder 6 【发布时间】:2009-04-23 12:48:43 【问题描述】:

我一直在尝试编译 Borland C++ Builder 6 项目,但链接器因以下错误而死:

[Linker Fatal Error] Fatal: Unable to open file '.OBJ'

奇怪的是它除了扩展名之外没有给出任何文件名。它看起来像一个内部错误,尽管谷歌搜索它没有给出任何结果。有人遇到过这个错误吗?

== 已解决 ==

实际上是其中一个源文件中的无效编译器指令导致链接器命令行损坏。感谢您的帮助。

【问题讨论】:

编译器指令到底是什么?我遇到了同样的问题。我使用 FASTMM,有时找不到 FAST4MMEssages.obj。我发现如果我在发布和调试版本之间切换,就会构建 obj 文件。我怀疑 .pas 和 .cpp 文件(两个编译器)的混合编排得不是很好...... @Eric 我不记得了,甚至可能是一个损坏的包含。 【参考方案1】:

检查链接器命令行中的非法空白字符。

如果您没有找到,请在此处发布您的链接器命令行(在项目 -> 选项 -> 链接器 -> 命令行中找到我的头顶)。

【讨论】:

【参考方案2】:

我从未使用过 Borland C++ Builder,但这听起来像是一个损坏的项目或损坏的目标文件 - 我猜你没有任何编译错误。 您可能需要采取的几个步骤: - 重建项目 - 检查用于调用链接器的确切命令行,并在自定义项目设置中寻找奇怪的东西(存在这样的东西)。

如果你确实在命令行中发现了一些奇怪的东西,手动编辑项目文件(孩子们,不要在家里这样做)以删除有问题的部分可能是构建新项目之前的最后手段。

【讨论】:

其实这是一个新创建的项目 - 我正在将一个旧项目拆分为多个部分。好吧,我没有注意到那里有什么奇怪的东西。【参考方案3】:

我以前在 Visual Studio 中看到过这种情况,通常如果我在链接过程中停止编译器构建,不确定 borland 是否在链接过程中生成 obj 文件?在您的项目目录中搜索,并删除可能在名为“intermediate”的文件夹中的 obj 文件,然后重试

【讨论】:

【参考方案4】:

我怀疑您的命令行中有空格或其他字符,例如 - 或 +。

【讨论】:

以上是关于Borland C++ Builder 6 上的奇怪链接器错误的主要内容,如果未能解决你的问题,请参考以下文章

Borland Builder C++ 6 中的 CoreAudio API

虚拟内存地址空间不足(Borland C++ Builder 6 程序)

Borland C++ Builder 6.0的详细说明

Borland C++ Builder 中的 Windows 子类化

添加了库; Borland C++ Builder 无故暂停

在 Borland C++ 6 中从 Windows 获取程序文件目录