我手头有一个x86下编译的静态链接库文件(.a),需要在鲲鹏平台上使用。找到了DevKit提供的二进制转码工具,按照文档执行了转码命令,工具运行过程中没有报错,最后也提示转码成功。但是当我在鲲鹏服务器上用ar命令查看转码后的库文件时,发现里面的目标文件(.o)数量比原始x86库少了很多。我又用objdump -h查看了剩余的几个目标文件,发现它们虽然被标记为ARM架构,但代码段里夹杂着一些看起来像是x86指令的二进制片段。尝试用这个转码后的库去链接一个简单的测试程序,链接器报了大量未定义符号错误,而这些符号在原始x86库中是存在的。我想知道这是工具本身不支持静态库的完整转换,还是我的用法有问题。原始库不大,大概只有两兆左右,应该不是资源限制导致的。
我手头有一个x86下编译的静态链接库文件(.a),需要在鲲鹏平台上使用。找到了DevKit提供的二进制转码工具,按照文档执行了转码命令,工具运行过程中没有报错,最后也提示转码成功。但是当我在鲲鹏服务器上用ar命令查看转码后的库文件时,发现里面的目标文件(.o)数量比原始x86库少了很多。我又用objdump -h查看了剩余的几个目标文件,发现它们虽然被标记为ARM架构,但代码段里夹杂着一些看起来像是x86指令的二进制片段。尝试用这个转码后的库去链接一个简单的测试程序,链接器报了大量未定义符号错误,而这些符号在原始x86库中是存在的。我想知道这是工具本身不支持静态库的完整转换,还是我的用法有问题。原始库不大,大概只有两兆左右,应该不是资源限制导致的。