一步步来,主要参考文章:ASN.1 -- 使用asn1c完成ASN encode/decode_猫猫猫猫猫大人的博客-CSDN博客_asn.1的asn1c的使用一步一步跟着做,但是也遇到了问题。
问题1:test -f configure || autoreconf -iv 出现问题:未找到
解决方法:安装:sudo apt-get install autoreconf
问题2:
sudo ./configure
出现问题:config.status: error: cannot find input file: `tests/tests-c-compiler/check-src/Makefile.in'
解决方法:
1.安装libtool,autoconf,automake
2.autoheader && aclocal && libtoolize --ltdl --copy --force && automake --add-missing --copy && autoconf && ./configure
参考文章:
ASN.1——ASN1C库的安装和报错解决办法_test -f configure || autoreconf -iv_不要写bug、的博客-CSDN博客
问题 3: make install 权限不够 sudo su;
问题4:将out/下的*.c 和 *.h 分别拷贝到自己的代码中,编译成libasncodec.so。
不会呀!
系统没有交叉编译环境,首先的配置编译环境,然后学习编译指令。
参考文献:linux安装交叉编译环境_水枂的博客-CSDN博客_linux交叉编译环境搭建
备注:
1.生成lib中库的方法如下:
1)生成libtcsae53_4layer.so,进入libtcsae53_4layer/MessageFrame/src/目录,执行命令:
arm-linux-gnueabi-gcc -std=c99 -fPIC -shared -I. -I../../../libasn1c *.c -o libtcsae53_4layer.so
2)生成libasn1c.so,进入libasn1c目录,执行命令:
arm-linux-gnueabi-gcc -std=c99 -fPIC -shared -I. *.c -o libasn1c.so
2.生成lib-gcc中库的方法如下:
1)生成libtcsae53_4layer.so,进入libtcsae53_4layer/MessageFrame/src/目录,执行命令:
gcc -std=c99 -fPIC -shared -I. -I../../../libasn1c *.c -o libtcsae53_4layer.so
2)生成libasn1c.so,进入libasn1c目录,执行命令:
gcc -std=c99 -fPIC -shared -I. *.c -o libasn1c.so