Cryptopp 制作 ARM 32 位共享库
Posted
技术标签:
【中文标题】Cryptopp 制作 ARM 32 位共享库【英文标题】:Cryptopp make ARM 32bit shared library 【发布时间】:2021-08-27 09:35:08 【问题描述】:我是 Linux 和 Ubuntu 的新手,我需要通过 ARM32 构建 cryptopp 库。 我一直在关注ARM Embedded(Command Line) 的Install the Package、Set the Environment、Build the Library部分
下面是我做的
git clone cryptopp
$> git clone https://github.com/weidai11/cryptopp.git $> cd cryptopp
安装包部分
$> sudo apt-get 更新 $> sudo apt-get install g++-arm-linux-gnueabi gcc-arm-linux-gnueabi
设置环境部分
我打开了./cryptopp/TestScript/setenv-embedded.sh
并修改了以下值
ARM_EMBEDDED_CXXFLAGS="-|/usr/arm-linux-gnueabi/include/c++/7.5.0 -|/usr/arm-linux-gnueabi/include/c++/7.5.0/arm-linux-gnueabi" ARM_EMBEDDED_SYSROOT="/usr/arm-linux-gnueabi" ARM_EMBEDDED_TOOLCHAIN_VERSION="7.5.0"
构建库部分
$> 运行源码./TestScript/setenv-embedded.sh $> sudo make -f GNUmakefile-cross 静态动态 cryptest.exe
我在上面尝试过,但是,构建运行使用 g++ 而不是 arm-linux-gnueabi-g++下面
g++ -DNDEBUG -g2 -O3 - fPIC - 管道 -c cryptlib.cpp g++ -DNDEBUG -g2 -O3 - fPIC - 管道 -c cpu.cpp ...
结果共享库是 '64bit x86-64' 版本。 我想做一个 32 位 arm 架构的 cryptopp 共享库。
有人帮助我或分享有用的链接吗?
已解决
我参考了@Anton Malyshev 的回答并解决了。
正如他所说,将 g++ 更改为 arm-linux-gnueabi-g++ 非常有效。 至于如何,这是我的解决方案(如果有更好的东西,请分享)
-
打开GNUmakefile-cross文件并添加
CXX := arm-linux-gnueabi-g++
运行 sudo make -f GNUmakefile-cross static dynamic cryptest.exe
就是这样。
但我不知道为什么即使我关注了cryptopp的wiki它也不起作用
【问题讨论】:
【参考方案1】:很可能您只需要使用g++-arm-linux-gnueabi
而不是g++
。
【讨论】:
非常感谢。我通过您的回答找到了解决方案。 随意编辑/扩展答案以描述实际解决方案以上是关于Cryptopp 制作 ARM 32 位共享库的主要内容,如果未能解决你的问题,请参考以下文章