IEC61850源码交叉编译:
参考:
交叉编译:

具体操作:将主目录下make文件夹中的target_system.mk文件进行更改:

编译命令:
make TARGET=LINUX-ARM
![]()
交叉编译错误

提示:最好将源码放在ubuntu内,否则可能会有链接错误
交叉编译正常,则编译后如下:

: nuc980提供的交叉编译不支持该功能,因此无法编译

修改记录:将TCP_USER_TIMEOUT 改为 常数 18,编译通过
将交叉编译好的库文件build-arm,及程序考入开发板,运行程序
报错:

Libpthread动态库所属GLIB
需要将glib进行交叉编译 生成该库进行使用
如下
Glib 2.45.3 交叉编译
本机ubunut:
![]()
一、源码包及下载路径
.源码包1: libffi-3.2.1
源码包2: zlib-1.2.8 libffi-3.2.1 glib-2.45.3
源码包3: glib-2.45.3
二、交叉编译 Libffi
1:CC=/home/hek/Nuc980Work/Z-BSP-Usr/arm_linux_4.8/bin/arm-linux-gcc ./con figure --host=arm-linux --prefix=/home/hek/lib/libffi-3.2.1/
2:make
3:make install



输入pkg-config --cflags libffi-arm则会输出环境路径 说明成功
将libffi.so libffi.so.6.04 libffi.so.6拷贝到交叉编译器所在的lib库目录,具体与libc.so在同一个目录

二、交叉编译 Zlib
1:CC=/home/hek/Nuc980Work/Z-BSP-Usr/arm_linux_4.8/bin/arm-linux-gcc ./configure --prefix=/home/hek/lib/zlib-1.2.8/
2:make
3:make install



验证:

二、交叉编译 Glib
添加有关配置文件Vim glib.cache
将下面复制到glib.chahe
glib_cv_stack_grows=no
glib_cv_long_long_format=ll
glib_cv_stack_grows=no
glib_cv_have_strlcpy=no
glib_cv_have_qsort_r=yes
glib_cv_va_val_copy=yes
glib_cv_uscore=no
glib_cv_rtldglobal_broken=no
ac_cv_func_posix_getpwuid_r=yes
ac_cv_func_posix_getgrgid_r=yes
ac_cv_type_long_long=yes
编译:
1:CC=/home/hek/Nuc980Work/Z-BSP-Usr/arm_linux_4.8/bin/arm-linux-gcc ./configure --host=arm-linux --prefix=/home/hek/lib/glib/ LIBFFI_LIBS="-L/home/hek/lib/libffi-3.2.1/lib -lffi" LIBFFI_CFLAGS="-I/home/hek/lib/libffi-3.2.1/include" ZLIB_LIBS="-lz -L/home/hek/lib/zlib-1.2.8/lib" ZLIB_CFLAGS="-I/home/hek/lib/zlib-1.2.8/include" --cache-file=glib.cahe --disable-selinux --disable-xattr --disable-libelf glib_cv_stack_grows=no glib_cv_uscore=yes ac_cv_func_posix_getpwuid_r=yes ac_cv_func_posix_getgrgid_r=yes --enable-iconv=no --with-libiconv=gnu
2:make
3:make install



成功生成库文件

失败案例见附录2
将lib中库文件 libpthread.so.0 拷贝到开发板lib目录,将goose_publisher_example拷贝到开发板;并运行:
报错

进入库文件查看:

查看程序需要的动态库


发现开发板力度文件错误,
将libgthread-2.0.so.0 libgthread-2.0.so.0.4503.0 拷贝开发板,并将libgthread-2.0.so.0改名为libgthread.so.0


继续运行

继续运行

缺少libiconv动态库
下载安装:http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz
命令:
1:sudo CC=/home/hek/Nuc980Work/Z-BSP-Usr/arm_linux_4.8/bin/arm-linux-gcc ./configure --host=arm-linux --prefix=/home/hek/lib/libiconv --enable-shared=yes --enable-static=no
2:make
3:makeinstall

将对应动态库文件 拷贝到开发板:
OK,成功!!!!

3647

被折叠的 条评论
为什么被折叠?



