在对二进制文件进行剥离之后,在运行时未定义的引用功能

问题描述:

问题:在编译和剥离二进制文件后,运行时出现“未定义引用”。在对二进制文件进行剥离之后,在运行时未定义的引用功能

所以,虽然在打包文件中,我已经尝试在相应的二进制文件的末尾添加“nostrip”,并且工作正常。一世。即如果我不剥去,它的作品。我正在使用风河工具链。我认为这与我编译或链接的方式有关。

工具gcc,ld,strip等都来自同一个工具链。

任何帮助将非常感激。谢谢。

+0

这个问题很难回答,因为它代表。看到传递给这些工具的命令行选项会很有帮助。请注意,剥离应用程序'.so'假定二进制链接依赖于二进制文件中的符号(循环符号引用)。这通常是糟糕设计的结果,但如果您的应用程序以编程方式链接更多模型(例如插件),也可能发生这种情况。 – marko

+0

感谢marco回应。我设法弄清楚了。问题是,make文件中有一些环境变量使它使用不正确的strip实用程序,即它使用monta-vista strip实用程序而不是风河。 – ahamed101

更新

解决方案:问题是,有在Makefile一些环境变量,这是使得它使用不正确的带工具,即它用的是蒙塔 - Vista的带工具,而不是风河。