【问题标题】:Cryptopp make ARM 32bit shared libraryCryptopp 制作 ARM 32 位共享库
【发布时间】:2021-08-27 09:35:08
【问题描述】:

我是 Linux 和 Ubuntu 的新手,我需要通过 ARM32 构建 cryptopp 库。
我一直在关注ARM Embedded(Command Line)Install the PackageSet the EnvironmentBuild 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++ 非常有效。 至于如何,这是我的解决方案(如果有更好的东西,请分享)

  1. 打开GNUmakefile-cross文件并添加CXX := arm-linux-gnueabi-g++
  2. 运行 sudo make -f GNUmakefile-cross static dynamic cryptest.exe 就是这样。

但我不知道为什么即使我关注了cryptopp的wiki它也不起作用

【问题讨论】:

    标签: c++ linux build crypto++


    【解决方案1】:

    很可能您只需要使用g++-arm-linux-gnueabi 而不是g++

    【讨论】:

    • 非常感谢。我通过您的回答找到了解决方案。
    • 随意编辑/扩展答案以描述实际解决方案
    猜你喜欢
    • 2014-08-23
    • 2021-12-22
    • 1970-01-01
    • 2010-12-14
    • 2014-04-21
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    • 2013-11-14
    相关资源
    最近更新 更多