编译在ubuntu中生成共享对象文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编译在ubuntu中生成共享对象文件相关的知识,希望对你有一定的参考价值。
I want to get the shared object file(.so) by compiling
https://github.com/lucasjones/cpuminer-multi
我使用下面的命令,生成几个.O文件。
/autogen.sh
./configure --prefix=$HOME/Downloads
make
你能帮我生成.so文件吗?我想在android,Ubuntu等几个不同的平台上使用这些文件。
请注意,ELF共享对象实际上应包含position-independent code(PIC)。请参阅Drepper的How to Write Shared Libraries论文和this答案。 shared libraries的简单构建说明是here和there。
在您的cpuminer-multi存储库中,有一些汇编程序文件,例如aesb-x64.S
.....所以你至少需要检查它们内部的汇编程序代码是否为PIC(或修补这些文件以使它们成为PIC)。
你能帮我生成.so文件吗?我想在几个不同的平台上使用这些文件
这可能不起作用,因为ABI和API(例如普通或标准库)可能略有不同。我会为每个平台推荐不同的版本。
./configure --prefix=$HOME/Downloads
这看起来很奇怪(闻起来很糟糕)。了解更多关于autoconf的信息。 --prefix
与安装子目录有关,而与构建树无关。我会建议--prefix=$HOME/soft/
然后添加$HOME/soft/bin/
到你的PATH
variable。
以上是关于编译在ubuntu中生成共享对象文件的主要内容,如果未能解决你的问题,请参考以下文章
Azure 文件共享 SAS 令牌签名未按预期生成,如何为文件对象生成签名以匹配门户中生成的签名?
如何在 KMM(kotlin 本机)共享模块中读取 Swift 框架库中生成的对象数组
使用在另一个片段(NPE)中生成的值设置片段的 TextView [重复]
Android:将片段和弹出窗口的点击事件中生成的变量传递给活动的方法
windows和ubuntu虚拟机设置共享文件夹,在windows中用source insight阅读和编写代码,在linux中用交叉编译工具编译。