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。