我有一个C++ Builder XE项目与几个第三方控件。一些第三方控件没有特定的XE包,所以我结束了2010年和编译等...C++ Builder XE OBJ文件
经过许多回转后,我可以让我的项目编译但不链接。
我得到的错误: [ILINK32错误]致命:无法打开文件 'THEMESRV.OBJ'
我使用LMD VCL工具(http://www.lmdinnovative.com/products/vcl /)我认为这是从何而来。请参阅CBuilder 6项目和较旧版本的LMD工具中存在的Themesrv.obj文件。我的大型项目是将CBuilder6转换为XE,并下载了最新的2010版LMD控件; Builder6控件不能在XE下编译。
现在,如果我创建一个全新的XE项目并包含来自LMD组件的一些可疑控件,我会得到干净的编译和链接。
我甚至做了一些愚蠢的事情,例如将themesrv.obj文件复制到我的项目的构建空间中,以获取参考问题。
有关跟踪此问题的任何建议吗?我没有在项目经理中明确包含任何LIB或OBJ文件,并且我已经通过项目XML文件查找虚假参考文件...
想法/建议?
好吧,所讨论的obj文件似乎并没有列出IDE组件列表中列出的任何控件。我从LMD工具的Cbuilder6版本转到了CBuilder 2010版本。其中一个显而易见的变化是消除了主题,因为他们现在可以在Borland产品本身中利用它(我猜)。我的项目在IDE中加载的所有组件都没有问题(它以前没有过),它编译干净就不会链接。就好像IDE在某种程度上认为我需要这个OBJ文件,并且我得到的是它没有在链接器命令行中列出,如项目属性中所示。 – Eric 2010-11-15 22:29:03
@Eric,.obj文件对应一个源文件。软件包/组件的工作方式是将所有单个对象绑定在一起。您正在寻找包含.obj文件数据的正确.lib/.bpi文件。 (链接器将停止询问何时发现.lib/.bpi)您必须确保该文件是1)在Project-> Options-> Packages-> Build with runtime packages列表框中(假设复选框被选中) 2)可以在项目 - >选项 - >目录和条件 - >库路径中列出的其中一个路径上找到.lib文件,或者3).lib文件添加到项目中。 – 2010-11-16 00:18:42
很明显,我知道一个obj文件对应一个源文件。有问题的源文件不再是第三方组件的新版本,但CBuilder不断抱怨说它由于某种原因缺少。这是一个孤立的OBJ文件,我不需要,但不知道如何说服C++ Builder!你会注意到我说这个问题不会在新项目中退出。 OBJ文件也不是所讨论的XML项目的一部分。 – Eric 2010-11-19 00:23:58