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

采用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]#

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值