IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 编译iperf3.1.3 出错 ld: cannot find gcrt1.o -> 正文阅读

[嵌入式]编译iperf3.1.3 出错 ld: cannot find gcrt1.o

在网站?https://iperf.fr/iperf-download.php?上能下载到iperf3.1.3的各种版本,但是没有mips、mipsel、arm平台的二进制文件,看来只有自己编译了。

我自己有arm mips mipsel 的交叉工具,编译arm平台的很顺利,在编译mips及mipsel的时候报错。

ld: cannot find gcrt1.o:

看见网文 iperf3.0 hisi uclib 交叉编译?也提到了这个错误,才知道用uclibc 库编译会出现这样的错误,我的mips 及mipsel 用的就是uclibc库,看来uclibc 的库中没有gcrt1.o这个文件。

没有按照上述网文修改src目录下Makefile.in 而是按照iperf 3.10.1的src/Makefile.in修改。

修改后,解决了iperf3.1.3 编译的问题,经测试在arm、mips、mipsel、x86_64平台上都正常。

diff.patch

diff -ruNp org/iperf-3.1.3/src/Makefile.in iperf-3.1.3/src/Makefile.in
--- org/iperf-3.1.3/src/Makefile.in	2016-06-07 02:18:49.000000000 +0800
+++ iperf-3.1.3/src/Makefile.in	2021-07-30 22:33:04.696243888 +0800
@@ -607,12 +607,21 @@ iperf3_LDFLAGS = -g
 
 # Specify the sources and various flags for the profiled iperf binary. This
 # binary recompiles all the source files to make sure they are all profiled.
-iperf3_profile_SOURCES = main.c \
-						  $(libiperf_la_SOURCES)
+#iperf3_profile_SOURCES = main.c \
+#						  $(libiperf_la_SOURCES)
 
-iperf3_profile_CFLAGS = -pg -g
-iperf3_profile_LDADD = libiperf.la
-iperf3_profile_LDFLAGS = -pg -g
+##mod iperf3_profile_CFLAGS = -pg -g
+#iperf3_profile_CFLAGS = -g
+#iperf3_profile_LDADD = libiperf.la
+##mod iperf3_profile_LDFLAGS = -pg -g
+#iperf3_profile_LDFLAGS = -g
+
+@ENABLE_PROFILING_TRUE@iperf3_profile_SOURCES = main.c \
+@ENABLE_PROFILING_TRUE@                          $(libiperf_la_SOURCES)
+
+@ENABLE_PROFILING_TRUE@iperf3_profile_CFLAGS = -pg -g
+@ENABLE_PROFILING_TRUE@iperf3_profile_LDADD = libiperf.la
+@ENABLE_PROFILING_TRUE@iperf3_profile_LDFLAGS = -pg -g
 
 # Specify the sources and various flags for the test cases
 t_timer_SOURCES = t_timer.c

我对编译中加 -pg -g参数有疑问,就继续找文章。找到了网文?gcc编译选项的-g -pg和-l

才知道加 -pg -g 是调试用的,简单测试下uclibc库不支持-pg 选项。

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-08-01 14:40:08  更:2021-08-01 14:41:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 18:23:32-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码