当前位置: 首页 > 知识库问答 >
问题:

交叉编译“OpenSSL”错误

阎宾实
2023-03-14

我在c代码中使用include: 。当我用“gcc”编译器编译它时,我没有任何错误,但当我用交叉编译器“arm-linux-gnueabi-gcc”编译它时,我有以下错误:

/usr/include/openssl/e_os2.h:56:33: fatal error: openssl/opensslconf.h: No such file or directory 
compilation terminated.

共有1个答案

华福
2023-03-14

我知道这个问题有点老了,但既然我是带着同样的问题来的,我就把这个留在这里供以后参考。

我找到的解决方案是用安装的交叉编译器手动编译OpenSSL,然后手动将其安装到交叉编译库文件夹中。

首先,我安装了交叉编译器(我使用的是Ubuntu14.04)。我安装了C编译器和C++编译器。我还安装了两个交叉编译器工具链,一个支持硬浮点(arm-linux-gnueabihf),另一个不支持(arm-linux-gnueabi)。创建了/usr/arm-linux-gnueabi/usr/arm-linux-gnueabihf,交叉编译的库应该安装在其中。

sudo apt-get install {gcc,g++}-arm-linux-gnueabi{,hf}
git clone https://github.com/openssl/openssl
git checkout OpenSSL_1_0_2       # or another version
export CROSS=arm-linux-gnueabi # or arm-linux-gnueabihf
export AR=${CROSS}-ar
export AS=${CROSS}-as
export CC=${CROSS}-gcc
export CXX=${CROSS}-g++
export LD=${CROSS}-ld

./Configure --prefix=/usr/${CROSS} os/compiler:${CC}
make
sudo make install

您可以重复这个过程并使用两个工具链进行编译(arm-linux-gnueabiarm-linux-gnueabihf)。

希望这能有所帮助。

 类似资料:
  • 问题内容: 我创建了一个交叉编译的arm可执行文件。我想找到可执行文件的库依赖项。我正在使用ubuntu natty并安装了不包含ldd的arm-linux- gnueabi工具链。有没有可用的工具来查看Linux中arm可执行文件库的依赖性。 问题答案: 这有点儿混乱,但这是我能找到的最好的解决方案,对于基本用途它确实很好用-只需使用其他交叉工具将此脚本另存为“ arm-none-linux-g

  • 我在、Visual C++和交叉编译器的帮助下为构建项目。它运行良好,但如何处理情况时,我需要链接到库?我是否应该用当前的交叉编译器构建所有必需的库?例如如何处理库?

  • 本文档说明如何在kali linux上配置ARM交叉编译环境,是我们多份关于”定制ARM镜像”的文档的起点. 开发机的配置 编译内核生成镜象通常需要大量硬盘空间.确保你的开发机至少有50G可用硬盘空间以及足够的内存,CPU不要太差. 安装依赖 先安装ARM交叉编译所需的依赖. apt-get install git-core gnupg flex bison gperf libesd0-dev b

  • 问题内容: 各位 我正在尝试在Ant和终端上玩Javac Cross编译。在本地和集成环境中,我在一个非常基本的问题上遇到了同样的问题。 我在linux终端(以及在Windows和cmd的cygwin上)上运行此命令: 与Main.java一起使用,仅是System.out.println。 我收到错误消息: 我在本地Windows机器上的配置大致相同,结果完全相同。 我的理解是,交叉编译就是使用

  • 问题内容: 我想知道是否有可能(如果可以:如何)使用Go交叉编译共享库。说我有这段代码: 在中。在Mac上,我可以运行 获得名为的共享库。与Linux类似,只是扩展名为。 现在,我想使用Linux作为构建库的主要平台(适用于Mac和Windows)。我有什么选择? 设置来运行上面的linux上,我得到 有任何想法吗? 问题答案: 您面临的问题实际上与编译共享库或可执行文件无关,而与使用cgo并尝试

  • 我试图交叉编译一个linux系统的简单hello world程序。 我有以下资料: null 我试图运行/lib/libc.so.0来获取版本信息,但出现了一个分段错误。它似乎用-static编译解决了这个问题。所以我想这是libc库的问题。谢谢你的帮助。