如何将openssl库与arm交叉编译器链接

2023-12-13

我有应用程序 test.c,通过在主机(在 ubuntu 上)机器上使用 gcc,我成功编译并在主机上成功运行了应用程序。

现在我想使用arm交叉编译器交叉编译相同的应用程序LPC1788。请指导我如何链接 openssl 库文件

我的 Mkakefile 与 GCC

CC  = gcc  

 CFLAGS = -D__XMLSEC_FUNCTION__=__FUNCTION__ -DXMLSEC_NO_XKMS=1
-DXMLSEC_NO_CRYPTO_DYNAMIC_LOADING=1 -I/usr/include/xmlsec1
-I/usr/include/libxml2 -DXMLSEC_OPENSSL_097=1
-DXMLSEC_CRYPTO_OPENSSL=1 -DXMLSEC_CRYPTO=\"openssl\ -DUNIX_SOCKETS -D XML_SECURITY

 LDFLAGS = -lcrypto -I/usr/include/libxml2 -lxml2 -I/usr/include/xmlsec1 -lxmlsec1    

all:
   $(CC) src/test.c -o test $(CFLAGS) $(LDFLAGS)

通过更改编译器,我使用了以下 Makefile

CC = /home/amarayya/doc/tools/arm-2010q1/bin/arm-uclinuxeabi-gcc
CFLAGS = -D__XMLSEC_FUNCTION__=__FUNCTION__ -DXMLSEC_NO_XKMS=1
-DXMLSEC_NO_CRYPTO_DYNAMIC_LOADING=1 -I/usr/include/xmlsec1
-I/usr/include/libxml2 -DXMLSEC_OPENSSL_097=1
-DXMLSEC_CRYPTO_OPENSSL=1 -DXMLSEC_CRYPTO=\"openssl\ -DUNIX_SOCKETS -D XML_SECURITY

LDFLAGS = -lcrypto -L/usr/include/libxml2 -lxml2 -L/usr/include/xmlsec1 -lxmlsec1

all:
$(CC) src/test.c -o test $(CFLAGS) $(LDFLAGS)

这导致了这些错误

fatal error: openssl/rsa.h: No such file or directory
fatal error: openssl/rsa.h: No such file or directory

导致这些错误的原因以及如何克服


在针对不同的体系结构进行编译时,您无法使用主机库。首先,您需要为目标机器(即 ARM)交叉编译所有非标准库(libxml、libopenssl)。

基本上,您需要下载这些库的源代码并使用

--host=arm-uclinuxeabi --prefix=SOME_HOST_DIR

(或类似的东西 - 你可以检查自述文件) 假设您的交叉编译器位于 PATH 中。

这些库可能还需要交叉编译更多库。

编译应用程序时,您应该使用这些交叉编译的库。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将openssl库与arm交叉编译器链接 的相关文章

随机推荐

  • 在 WCF 中处理图像

    我有一个桌面应用程序 需要通过 TCP 协议向服务计算机上传 下载图像 起初 我将图像存储在文件系统中 但我需要在 MS SQL DB 中比较哪种解决方案更好 图片数量超过五十万 我还不知道照片尺寸是否有限制 如果您曾经这样做过 请写下您对
  • 在 JavaScript 中更改另一个函数中的变量

    我对 JavaScript 还很陌生 并且对变量和函数的一些属性遇到了麻烦 我想要发生的是有一个var在一个函数中定义 在另一个函数中更改值 然后将新值返回到最初定义它的函数 这是我制作的一个简单示例 function getIt var
  • 文本排序顺序的 MIN/MAX

    在 SQL Server 中 MIN 和 MAX 可以作用于不计算为数字的文本 返回具有最低或最高文本排序顺序的文本项 或者如 SQL Server 中所说的 排序顺序 是否可以在 Excel 中执行此操作 而无需使用实际排序的 UDF 例
  • malloc 和 calloc 与 std::string 之间的区别

    我最近开始接触 C 并且在使用 malloc 时遇到了问题 下面的代码不会打印出 成功 程序崩溃 退出代码为 0xC0000005 而如果我使用 calloc 则一切正常 int main std string pointer std st
  • 为什么使用 boost::multi precision::cpp_int 会影响这里的尾调用优化

    我有一些模板化代码 编译器可以对大多数数据类型进行尾部调用优化 但不能对其他数据类型进行尾部调用优化 代码实现了pow template
  • 如何在 gnuplot 中对箱线图异常值进行分组

    我有大量数据点 我尝试用箱线图绘制它们 但一些异常值是完全相同的值 并且它们表示在彼此旁边的一条线上 我发现如何设置gnuplot箱线图中异常值之间的水平距离 但这并没有太大帮助 因为这显然是不可能的 是否可以将异常值分组在一起 打印一个点
  • 如何撤消对 vim 中文本块的所有更改?

    是否可以选择一些带有视线的文本并撤消从一开始对其所做的所有更改 实际上 我是通过撤消所有拉动块的操作 然后将所有内容重做到最后一次修改 然后用拉动的文本替换该块来实现的
  • 如何从 Java 函数返回值?

    我正在尝试让以下程序运行 public class funWithNumbers public static void main String args int ten 10 int subend 7 int result ten sube
  • Android 图像位于 /assets 或 res/raw

    如果我想将一堆图像放入文件夹结构中 例如 我正在构建一个海滩应用程序 每个海滩都通过我的海滩详细信息活动显示 具体取决于从我的海滩列表中选择的海滩 然后我想显示来自该特定海滩的五张图像 每个海滩都会有一个文件夹 其名称与海滩的 id 相对应
  • 如何使用 Spring 4.0.6 全局设置 Hibernate 4.3.5.Final 的 FlushMode?

    我正在尝试使用 Hibernate 4 3 5 Final 和 Spring 4 0 6 升级我们的应用程序 我的应用程序中任何具有数据库写入操作的位置都会出现如下错误 Caused by org springframework dao I
  • JasperReports / iReport Designer:我可以有条件地显示乐队吗?

    我创建了一个报告如下 多个细节带 每个详细信息带包含 1 个表 每个表链接到 1 个数据集 每当查询的结果集返回空集 未找到结果 时 我可以隐藏详细信息带吗 我怎样才能做到这一点 在每个详细信息区域的 属性 中 您有一个名为 打印表达式 的
  • 更新到最新的 Angular cli 版本后,NG v 仍然显示旧版本号?

    我已发出以下命令 如图所示 我收到一条成功消息 说 Angular cli 已更新到 10 0 版本 但是当我运行 ng v 命令时 我得到了旧版本号 那么真的更新了吗 这里有什么问题呢 如何全局更新到最新版本 以便当我通过 cli 生成新
  • 将父级 ​​div 与浮动子级居中

    父级没有定义宽度 因为里面有未知数量的子级 为什么孩子会掉入新的队列以及如何预防 孩子们需要站在同一条线上 wrap position absolute left 50 top 50px height 40px transform tran
  • 防止 IE11 在 Angular 2 中缓存 GET 调用

    我有一个休息端点 它在 GET 调用上返回一个列表 我还有一个 POST 端点来添加新项目和一个 DELETE 来删除它们 这适用于 Firefox 和 Chrome POST 和 DELETE 则适用于 IE11 但是 IE11 中的 G
  • Matlab 中两个向量的直方图

    先谢谢您的帮助 我有两组平行向量 x 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
  • 使用基本模板时如何避免重复上下文设置过程?

    使用时jinja2 基本 骨架 模板通常由许多其他模板扩展 我的基本模板之一需要上下文中的某些变量 并且在任何使用此基本模板的地方都必须重复设置过程 例如 我可能需要从数据库读取一些类别名称并将它们呈现为标题中的列表 现在我必须在使用基本模
  • java中如何比较字符串数组中的元素?

    我正在尝试在字符串数组中查找重复的单词 这是我的比较代码 for int j 0 j lt wordCount j for int i wordCount 1 i gt j i if stringArray i compareTo stri
  • 使用分隔符打印列表中的所有项目

    考虑这个用于打印逗号分隔值列表的 Python 代码 for element in list print element 在以下情况下 打印时不出现逗号的首选方法是什么element是列表中的最后一个元素 ex a 1 2 3 for el
  • 对于某些 HTML 内容,点击事件在 Safari Mobile 中不起作用

    在我的网络应用程序中 有一个针对移动设备的单独的导航栏 我希望当单击菜单按钮或单击网站中的其他任何位置时 此导航栏会折叠 它已经可以在任何移动浏览器中工作 但不能在 safari 移动浏览器中工作 在 safari 中 对于主页它也可以工作
  • 如何将openssl库与arm交叉编译器链接

    我有应用程序 test c 通过在主机 在 ubuntu 上 机器上使用 gcc 我成功编译并在主机上成功运行了应用程序 现在我想使用arm交叉编译器交叉编译相同的应用程序LPC1788 请指导我如何链接 openssl 库文件 我的 Mk