采用arm-none-linux-gnueabi-gcc编译的时候会出现标准库无法找到的情况。例如:

[root@localhost wpcode]# arm-none-linux-gnueabi-gcc *.c -fPIC -shared -o libsdk.so

opensslRsa.c:3:30: error: openssl/ossl_typ.h: No such file or directory

opensslRsa.c:4:25: error: openssl/pem.h: No such file or directory

opensslRsa.c:5:26: error: openssl/x509.h: No such file or directory

opensslRsa.c:6:25: error: openssl/rsa.h: No such file or directory

opensslRsa.c:8:26: error: openssl/des.h: No such file or directory

解决办法:

[root@localhost wpcode]# echo 'main(){}'|arm-linux-gcc -E -v -

bash: arm-linux-gcc: 未找到命令...

[root@localhost wpcode]# echo 'main(){}'|arm-none-linux-gnueabi-gcc -E -V -

arm-none-linux-gnueabi-gcc: '-V' must come at the start of the command line

[root@localhost wpcode]# echo 'main(){}'|arm-none-linux-gnueabi-gcc -E -v -

Using built-in specs.

Target: arm-none-linux-gnueabi

Configured with: /scratch/mitchell/builds/4.3-arm-none-linux-gnueabi-respin/src/gcc-4.3/configure --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --target=arm-none-linux-gnueabi --enable-threads --disable-libmudflap --disable-libssp --disable-libstdcxx-pch --with-gnu-as --with-gnu-ld --with-specs='%{funwind-tables|fno-unwind-tables|mabi=*|ffreestanding|nostdlib:;:-funwind-tables}' --enable-languages=c,c++ --enable-shared --enable-symvers=gnu --enable-__cxa_atexit --with-pkgversion='Sourcery G++ Lite 2009q1-203' --with-bugurl=https://support.codesourcery.com/GNUToolchain/ --disable-nls --prefix=/opt/codesourcery --with-sysroot=/opt/codesourcery/arm-none-linux-gnueabi/libc --with-build-sysroot=/scratch/mitchell/builds/4.3-arm-none-linux-gnueabi-respin/lite/install/arm-none-linux-gnueabi/libc --with-gmp=/scratch/mitchell/builds/4.3-arm-none-linux-gnueabi-respin/lite/obj/host-libs-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --with-mpfr=/scratch/mitchell/builds/4.3-arm-none-linux-gnueabi-respin/lite/obj/host-libs-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --disable-libgomp --enable-poison-system-directories --with-build-time-tools=/scratch/mitchell/builds/4.3-arm-none-linux-gnueabi-respin/lite/install/arm-none-linux-gnueabi/bin --with-build-time-tools=/scratch/mitchell/builds/4.3-arm-none-linux-gnueabi-respin/lite/install/arm-none-linux-gnueabi/bin

Thread model: posix

gcc version 4.3.3 (Sourcery G++ Lite 2009q1-203)

COLLECT_GCC_OPTIONS='-E' '-v' '-funwind-tables'

/usr/local/arm-2009q1/bin/../libexec/gcc/arm-none-linux-gnueabi/4.3.3/cc1 -E -quiet -v -iprefix /usr/local/arm-2009q1/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/ -isysroot /usr/local/arm-2009q1/bin/../arm-none-linux-gnueabi/libc - -funwind-tables

ignoring nonexistent directory "/usr/local/arm-2009q1/bin/../arm-none-linux-gnueabi/libc/usr/local/include"

ignoring duplicate directory "/usr/local/arm-2009q1/bin/../lib/gcc/../../lib/gcc/arm-none-linux-gnueabi/4.3.3/include"

ignoring duplicate directory "/usr/local/arm-2009q1/bin/../lib/gcc/../../lib/gcc/arm-none-linux-gnueabi/4.3.3/include-fixed"

ignoring duplicate directory "/usr/local/arm-2009q1/bin/../lib/gcc/../../lib/gcc/arm-none-linux-gnueabi/4.3.3/../../../../arm-none-linux-gnueabi/include"

#include "..." search starts here:

#include search starts here:

/usr/local/arm-2009q1/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/include

/usr/local/arm-2009q1/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/include-fixed

/usr/local/arm-2009q1/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/../../../../arm-none-linux-gnueabi/include

/usr/local/arm-2009q1/bin/../arm-none-linux-gnueabi/libc/usr/include

End of search list.

# 1 ""

# 1 ""

# 1 ""

# 1 ""

main(){}

COMPILER_PATH=/usr/local/arm-2009q1/bin/../libexec/gcc/arm-none-linux-gnueabi/4.3.3/:/usr/local/arm-2009q1/bin/../libexec/gcc/:/usr/local/arm-2009q1/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/../../../../arm-none-linux-gnueabi/bin/

LIBRARY_PATH=/usr/local/arm-2009q1/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/:/usr/local/arm-2009q1/bin/../lib/gcc/:/usr/local/arm-2009q1/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/../../../../arm-none-linux-gnueabi/lib/:/usr/local/arm-2009q1/bin/../arm-none-linux-gnueabi/libc/lib/:/usr/local/arm-2009q1/bin/../arm-none-linux-gnueabi/libc/usr/lib/

COLLECT_GCC_OPTIONS='-E' '-v' '-funwind-tables'

我们可以找到他的标准库的编译路径是:

#include search starts here:

/usr/local/arm-2009q1/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/include

/usr/local/arm-2009q1/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/include-fixed

/usr/local/arm-2009q1/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/../../../../arm-none-linux-gnueabi/include

/usr/local/arm-2009q1/bin/../arm-none-linux-gnueabi/libc/usr/include

第二步:将我们的自带的标准库的路径找到标准库地址

[root@localhost wpcode]# find / -name pem.h

/usr/local/src/mysql-5.6.35/extra/yassl/include/openssl/pem.h

/usr/local/src/openssl-1.1.0e/include/openssl/pem.h

/usr/local/openssl/include/openssl/pem.h

[root@localhost wpcode]#

第三步:建立连接地址

[root@localhost wpcode]# ln -s /usr/local/openssl/include/openssl /usr/local/arm-2009q1/bin/../arm-none-linux-gnueabi/libc/usr/include/openssl

好了,再次编译,生成ARM的动态库文件

[root@localhost wpcode]# arm-none-linux-gnueabi-gcc *.c -fPIC -shared -o libsdk.so

sdklib.c: In function 'qrcode_verify':

sdklib.c:484: warning: passing argument 4 of 'get_grcode_all_elements' from incompatible pointer type

sdklib.c:484: warning: passing argument 5 of 'get_grcode_all_elements' from incompatible pointer type

sdklib.c:546: warning: passing argument 2 of 'read_data_file' from incompatible pointer type

sdklib.c:549: warning: passing argument 1 of 'getMac' from incompatible pointer type

sdklib.c:549: warning: passing argument 2 of 'getMac' from incompatible pointer type

sdklib.c:549: warning: passing argument 3 of 'getMac' from incompatible pointer type

sdklib.c:673: warning: passing argument 1 of 'getMac' from incompatible pointer type

sdklib.c:673: warning: passing argument 2 of 'getMac' from incompatible pointer type

sdklib.c:673: warning: passing argument 3 of 'getMac' from incompatible pointer type

WriteLog.c: In function 'WRITE_LOG':

WriteLog.c:88: warning: passing argument 2 of 'WriteLogFile' discards qualifiers from pointer target type

WriteLog.c: In function 'GetTime':

WriteLog.c:238: warning: incompatible implicit declaration of built-in function 'strncpy'

WriteLog.c: In function 'get_save_file_name':

WriteLog.c:264: warning: incompatible implicit declaration of built-in function 'strncpy'

WriteLog.c: In function 'GetCompletePath':

WriteLog.c:310: warning: incompatible implicit declaration of built-in function 'strcat'

WriteLog.c:311: warning: incompatible implicit declaration of built-in function 'strncpy'

WriteLog.c:311: warning: incompatible implicit declaration of built-in function 'strlen'

WriteLog.c: In function 'GetConfigValue':

WriteLog.c:338: warning: passing argument 1 of 'get_save_file_name' from incompatible pointer type

WriteLog.c: In function 'GetStringContentValue':

WriteLog.c:379: warning: incompatible implicit declaration of built-in function 'strcpy'

WriteLog.c:383: warning: incompatible implicit declaration of built-in function 'memset'

WriteLog.c:393: warning: incompatible implicit declaration of built-in function 'strlen'

WriteLog.c:407: warning: incompatible implicit declaration of built-in function 'memcpy'

WriteLog.c:449: warning: incompatible implicit declaration of built-in function 'strncpy'

WriteLog.c: In function 'GetConfigFileStringValue':

WriteLog.c:492: warning: incompatible implicit declaration of built-in function 'strcpy'

WriteLog.c:496: warning: incompatible implicit declaration of built-in function 'strcpy'

[root@localhost wpcode]# ls

Config.ini mackey Makefile opensslRsa.h publickey sdk.h sdklib.o test test.o WriteLog.c WriteLog.o

libsdk.so mackey.txt opensslRsa.c opensslRsa.o publickey.pem sdklib.c signdata.txt test.c WriteLog-2018-11-07.log WriteLog.h

[root@localhost wpcode]#

[root@localhost wpcode]# file libsdk.so

libsdk.so: ELF 32-bit LSB shared object, ARM, version 1 (SYSV), dynamically linked, not stripped

[root@localhost wpcode]#

arm-none-linux-gnueabi-gcc:未找到命令,arm-none-linux-gnueabi-gcc编译标准库引用相关推荐

  1. Linux bash: redis-server: 未找到命令

    项目场景: 当你在Linux中安装好了Redis,想启动时,输入redis-server命令,却没办法运行,报redis-server: 未找到命令. 问题描述 Linux安装好了Redis,运行时使 ...

  2. linux中wget未找到命令

    在装数据库的时候发现无法使用wget命令,提示未找到命令,如图所示 那是因为没有安装wget,输入命令:yum -y install wget 如下图所示,wget及其依赖将会被安装 安装完成后就可以 ...

  3. 第一次用gcc命令时报错:gcc: 未找到命令...

    (1.)查看是否安装了gcc相关程序 命令:which gcc (显示没有相关的文件) (2)安装gcc程序 命令:yum -y install gcc automake autoconf libto ...

  4. linux 下orapwd 未找到命令,orapwd命令中entries参数的作用

    orapwd命令中entries参数的作用 作者 blue_stone E-mail: blue_stone@xinhuanet.com Blog: http://bluestone.cublog.c ...

  5. linux 下orapwd 未找到命令,关于orapwd命令entries参数的探究

    今日早上看Oracle官方文档<Administrator's Guide>时,在密码文件章节,关于orapwd命令entries参数的说明如下: This argument specif ...

  6. linux终端cd未找到命令,为什么`which`命令不能用于`cd`?我也找不到`cd`的可执行文件!...

    问题描述 我尝试了which cd,它没有给出路径,而是返回退出代码1(用echo $?检查). coreutil cd本身正在工作,所以可执行文件应该在那里,对吧?我还为cd运行了find,但没有显 ...

  7. redhat bash: yum: 未找到命令..._常用linux yum 命令和 vim命令,这几个要熟记

    yum( Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RPM包并 ...

  8. linux终端cd未找到命令,Linux cd 命令 command not found cd 命令详解 cd 命令未找到 cd 命令安装 - CommandNotFound ⚡️ 坑否...

    显示行号 | 选择喜欢的代码风格 默认 GitHub Dune LakeSide Plateau Vibrant Blue Eighties Tranquil cd 命令切换用户当前工作目录. cd ...

  9. linux显示mdadm未找到命令,Linux mdadm命令解析

    mdadm命令解析 一,在Linux系统中目前MD(Multiple Devices)虚拟块设备的方式实现软件RAID,利用多个底层的块设备虚拟出一个新的虚拟设备,并且利用条带化(stripping) ...

  10. linux中mail未找到命令,mail命令使用在linux系统中输入mail,就进入了收件箱错误的是()...

    工商行政管理机制是指在现行体制框架内工商行政管理部门()的有机结合体. 用偏光显微镜观察宝石多色性,应在:(). 由不同功能的计划构成进度计划系统包括(). 男,48岁.一年来每于剧烈活动时或饱餐后发 ...

最新文章

  1. 『TCP/IP详解——卷一:协议』读书笔记——03
  2. 2013年第四届蓝桥杯C/C++ A组国赛 —— 第三题:埃及分数
  3. CCNP精粹系列之十六--实现三层交换的vlan间通信和路由器的配合使用
  4. java语言中的类可以_java 语言中的类
  5. 《Python Cookbook 3rd》笔记(2.12):审查清理文本字符串
  6. dorado 7 怎么样_一点点奶茶怎么样?消费者眼中的网红奶茶
  7. esc指令检查打印状态_【行业知识分享】八千字解读ESC系统
  8. Codeforces Round #449 (Div. 2) B Chtholly's request (预处理)
  9. Windows中使用http-server搭建一个本地服务
  10. php_l3arning_notes_2
  11. 最长回文子串(Longest Palindromic Substring)-DP问题
  12. paip.系统无法在消息文件中为 Application 找到消息号为 0x2350 的消息文本。服务器存储空间不足,无法处理此命令
  13. 百度迁徙数据的快捷采集方法分析总结
  14. python编写tftp服务器
  15. html双引号打不正确,双引号要占一个空格吗 为什么打双引号要空格一下才能出来...
  16. 华为linux是否支持背光键盘,华为笔记本背光键盘怎么开
  17. 我的上司叫“专横”,驾驭他小case,情商修炼术
  18. html设置ios状态栏颜色,ios 显示html标签,超链接颜色以及下划线的处理
  19. 决策树——(一)决策树的思想
  20. MySQL数据库创建表报错的解决方案

热门文章

  1. 【树】Unique Binary Search Trees II
  2. dnn305的一个bug
  3. springboot-注解汇总
  4. Spring框架入门程序:获取Bean的三种方式
  5. 分布式文件存储FastDFS之环境搭建篇
  6. spring源码-第四个后置处理器
  7. Set集合之CopyOnWriteArraySet
  8. 理清javascript的相关概念 DOM和BOM
  9. 公司网站的访问量突破了每天PV1.5亿
  10. 清除回收站苦闷纠结欣喜