将程序从海思3798M板卡移植程序到rk3399板卡,先尝试使用gcc编译网管程序通过
1、选择3798M代码为基础使用gcc编译网管可执行程序,打开Makefile查看网管依赖文件等
![1593e0d4c3abdae661cd28bd1bf759c8.png](https://i-blog.csdnimg.cn/blog_migrate/1eefeeda15738c4c14f5db0b79de23b3.jpeg)
2、使用gcc -c nmagent.c -o nmagent.o直接编译makefile中所有依赖文件
3、编译完成生成.o文件后,使用命令gcc -o netmanage nmagent.o sysconfig.o recvfromto.o valid.o cfg_func.o sql_func.o utils.o log.o code_convert.o -Wl,-dn -L./ -lmxml -Wl,-dy -lpthread -lrt回车,发现在加载mxml库文件时报错
![66dfa02f327e0208e9e6a9f6fc9c7dff.png](https://i-blog.csdnimg.cn/blog_migrate/cd4b7090ab56b57d5b4a4d62bb84657a.jpeg)
4、百度搜索报错信息是由于库是在32位机下编译成的,在64位机下加载库报错
5、网上下载minixml包或这找一个mxml包重新编译mxml生成mxml库文件。我下载的为mxml-3.0版本
6、cd mxml-3.0目录下,./configure回车执行,完成后会生成Makefile,此时make编译即可生成最新的libmxml.a静态库
7、将libmxml.a静态库拷贝到3798M_VDP目录下重新执行gcc -o netmanage nmagent.o sysconfig.o recvfromto.o valid.o cfg_func.o sql_func.o utils.o log.o code_convert.o -Wl,-dn -L./ -lmxml -Wl,-dy -lpthread -lrt编译通过