我的工作在一个Linux环境与C++,使用的海湾合作委员会编译器。

我目前正在修改并升级大预现有的体的代码。为此,已经有必要增加相当大量的小型的参考文献在整个码在各种各样的地方链接在一起,并且还要添加几个新的外部代码图书馆。还有一个相当大和结构复杂,生成文件相链接的配置。交流文件处理的建设过程。

在开始建立过程中的一切汇编了没有问题,但是回来了可怕的连接物的错误,当试图使用一个新增加自定义的代码图书馆,我们已经创建的。现在,我们已经通过大量的代码细牙梳寻找拼写错配,检查了所有图书馆都包含在建立的过程,并检查。o文件含有我们需要使用堆放场,并且所有都是因为和他们应该在哪里。我们还测试图书馆单独的问题肯定不在那里。

在短期,我们已经尝试过大多数事情,你应当通常不在这些情况。

是有一个工具,用C++,可以检测到接头的错误的自动的,在一个类似的静脉cppcheck或夹板(两者我们已经没有用),可以帮助在这里?

有帮助吗?

解决方案

不知道你的平台,但是我度过了某个时候与连接的问题在海湾合作委员会,直到我意识到,静态图书馆(.a)联系需要特定的顺序,它不一样的链接 gcc object.o first.a second.agcc object.o second.a first.a.

其他提示

总的来说(不多的),我尝试解决这种问题,通过使用另一种连接因为我已经访问了几个不同的平台。如果你可以用另一个接头你会找到:

a)节目的链接,这将你的问题从'为什么不?","什么区别之间的连接,并连接?',这是不完全是向前迈出的一步,但有时,一步一边给你一个不同的视角,从中可以看到一个解决方案;

b)未链接,在这种情况下的其他接头可能会得到更有用的信息有关它为什么失败。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top