将NTP软件移植到64位的mips上遇到问题

本文详细记录了在x86架构上使用交叉编译工具链编译NTP软件时遇到的问题及解决过程,包括配置环境变量、指定交叉编译器、修正编译错误等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在服务器x86架构上编译NTP软件时,没有发现任何问题,但是使用交叉编译工具链编译NTP时,却发现错误,具体过程如下:
1.首先先要到处交叉编译工具链,也就是修改/etc/environment中的内容,将交叉编译工具链的路径添加到最后,最后执行source /etc/environment即可,即可在当前终端直接使用交叉编译工具链的内容,使用Tab来补全从而查看是否生效。
2.然后执行配置命令
./configure --prefix=/usr/local/ntp2 --host=mips64-nlm-linux  --enable-all-clocks --enable-parse-clocks
3.执行编译命令
make
在编译时出现错误,错误内容如下:
编译错误大概意思是:读取当前目录下的libntp/libntp.a的头部报错说是一个错误的格式,因此我们找到这个libntp.a文件,使用file命令查看这个文件的格式,结果发现其格式是x86架构,显然是错误的,因为我们需要的是mips架构的,当执行完configure配置文件后,就会生成一些配置文件(会根据configue后面的参数来生成相应的信息),比如生成Makefile文件,因此我们打开Makefile文件,找到其CC变量,发现该变量被赋值为gcc,由此找到错误原因,就是没有使用交叉编译工具链导致的,使用.configure -h来查看如何指定交叉编译工具,找到直接跟上CC=mips64-nlm-linux-gcc即可。
./configure --prefix=/usr/local/ntp2 --host=mips64-nlm-linux  --enable-all-clocks --enable-parse-clocks CC=mips64-nlm-linux-gcc


4.make install

新BUG,在第三步骤中,当执行
./configure --prefix=/usr/local/ntp2 --host=mips64-nlm-linux  --enable-all-clocks --enable-parse-clocks CC=mips64-nlm-linux-gcc
命令时,出现如下图中的错误。

 

资源下载链接为: https://pan.quark.cn/s/7cc20f916fe3 Qt5.9.9是一款由Qt公司开发的跨平台应用程序开发框架,主要用于开发图形用户界面和交互式应用程序,广泛应用于桌面、移动设备以及嵌入式系统。本文将重点介绍Qt5.9.9针对MIPS64架构(mip64el)的源码编译与使用。该版本基于GCC 5.4.0编译环境,且未包含qtwebengine模块。 MIPS(Microprocessor without Interlocked Pipeline Stages)是一种RISC(Reduced Instruction Set Computer)处理器架构,常用于嵌入式系统和网络设备。MIPS64是其64版本,具有更高的处理能力和内存寻址能力,适合处理大数据量和复杂计算任务。GCC 5.4.0是GNU编译器集合的一个版本,支持多种编程语言,如C、C++、Fortran等。选择GCC 5.4.0作为编译工具链,可确保Qt5.9.9在MIPS64平台上高效运行。未包含qtwebengine模块意味着该版本Qt不支持网页内容显示,这可能是由于qtwebengine在某些架构上的编译复杂性或对性能、资源的考量。开发者若需集成网页浏览功能,可考虑使用第三方库或其他替代方案。 在编译Qt5.9.9时,用户需解压“Qt5.9.9.tar.gz”文件,并正确配置环境变量,以便系统能够找到Qt的相关库和可执行文件。通常需要设置QTDIR指向Qt安装目录,将PATH添加到bin目录,以及设置LD_LIBRARY_PATH以查找动态链接库。完成这些配置后,开发者即可使用Qt5.9.9进行应用程序开发。 Qt5.9.9提供了丰富的模块,如QWidgets、QML用于构建用户界面,QtNetwork用于网络通信,QtSql用于数据库连接,QtMultimedia用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值