编译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共享对象应包含与位置无关的代码(PIC)。请参阅Dreper的如何编写共享库纸张和此答案。共享库的简单构建说明在这里和那里。

在您的cpuminer-multi存储库中,有一些汇编文件,例如。aesb-x64.S .....因此,您至少需要检查其中的汇编代码是PIC(或修补这些文件以使其成为PIC)。

您能帮我生成.so文件吗?我想在几个不同的平台中使用此文件

这可能不起作用,因为ABI和API(例如,常见或标准库)可能略有不同。我建议每个平台都有不同的构建。

./configure --prefix=$HOME/Downloads

这看起来很奇怪(闻起来很糟糕)。阅读有关AutoConf的更多信息。--prefix安装子目录有关,而不是与构建树相关。我建议--prefix=$HOME/soft/,然后将$HOME/soft/bin/添加到您的PATH变量。

最新更新