Linux Makefile配置问题
编写一个简单的工程文件,制作Makefile需要包含lpthread,当Makefile写为如下配置时
#CROSSCOMPILE := arm-linux-
CROSSCOMPILE :=CFLAGS := -Wall -O2 -c
CFLAGS += -I$(PWD)LDFLAGS := -lpthread
LDFLAGS += -lm -ldlCC := $(CROSSCOMPILE)gcc
#LD := $(CROSSCOMPILE)ldOBJS := main.o \cJSON.o \cmd.o \mqtt.o \socket_client.o
all: $(OBJS)$(CC) $(LDFLAGS) -o mqtt_client $^clean:rm -f mqtt_clientrm -f $(OBJS)%.o:%.c$(CC) $(CFLAGS) -o $@ $<
~
出现了错误
main.o:在函数‘main_loop’中:
main.c:(.text+0x25):对‘pthread_create’未定义的引用
main.c:(.text+0x3a):对‘pthread_create’未定义的引用
参考博文:https://dontla.blog.csdn.net/article/details/122637407?spm=1001.2101.3001.6650.4&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-4-122637407-blog-105294018.235%5Ev38%5Epc_relevant_yljh&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-4-122637407-blog-105294018.235%5Ev38%5Epc_relevant_yljh&utm_relevant_index=9
参考博文将-lpthread放到编译后面,重新编译-lpthread错误解决。
编译cJSON相关的代码,出现如下错误:
cJSON.o:在函数‘parse_value’中:
cJSON.c:(.text+0x6e1):对‘pow’未定义的引用
添加编译选项:
LDFLAGS += -lm -ldl
编译成功。
相关文章:
Linux Makefile配置问题
编写一个简单的工程文件,制作Makefile需要包含lpthread,当Makefile写为如下配置时 #CROSSCOMPILE : arm-linux- CROSSCOMPILE :CFLAGS : -Wall -O2 -c CFLAGS -I$(PWD)LDFLAGS : -lpthread LDFLAGS -lm -ldlCC : $(CROSSCOMPILE)gcc #LD :…...
k8s篇之underlay网络和overlay区别
k8s中underlay网络和overlay区别 一、网络 1 Overlay网络: Overlay叫叠加网络也叫覆盖网络,指的是在物理网络的基础之上迭代实现新的虚拟网络,即可使网络中的容器可以互相通信。 优点是对物理网络的兼容性比较好,可以实现pod的…...
掉瓶子小游戏
欢迎来到程序小院 掉瓶子 玩法:旋转的瓶子,根据瓶子方向,点击鼠标左键瓶子掉落,从桌面中间掉下即得1分,卡在桌边瓶子碎了游戏结束,快去掉瓶子吧^^。开始游戏https://www.ormcc.com/play/gameStart/203 htm…...
Elasticsearch7 入门 进阶
1、全文检索 1.1、数据分类 按数据分类的话,主要可以分为以下三类: 结构化数据:固定格式、有限长度,比如mysql存的数据非结构化数据:不定长、无固定格式,比如邮件、Word文档、日志等半结构化数据…...
你是怎么封装微信小程序的数据请求的?
当封装微信小程序的数据请求时,可以采用一种模块化的方法,将请求逻辑与界面逻辑分离,以提高代码的可维护性和可扩展性。以下是一个基于前言、高质量代码、理解、优缺点和结尾的范例: 前言 在微信小程序中,数据请求是…...
C++ vector中capacity()和size() 的区别
size是指容器当前拥有元素的个数, capacity是指容器在必须分配新的存储空间之前可以存放的元素总数。 如vector<int> ivect(10),ivect.capacity()10,ivect.size()0, 当向ivect中插入元素时,只要没有超过10个,那么capacity就…...
【Redis】redis-server和redis-cli
上一篇《redis 的下载和安装》 https://blog.csdn.net/m0_67930426/article/details/134341071?spm1001.2014.3001.5501 安装完之后开始使用 打开客户端之前需要先打开服务端 redis-server 直接使用该命令打开就行 然后在打开客户端 redis-cli 使用ping命令查看是否连接服…...
【系统架构设计】架构核心知识: 2.4 系统建模过程和系统设计
目录 一 系统建模过程 1 结构化建模 2 信息工程建模方法 3 面向对象建模方法...
企业电子招标采购系统源码之从供应商管理到采购招投标、采购合同、采购执行的全过程数字化管理
功能描述 1、门户管理:所有用户可在门户页面查看所有的公告信息及相关的通知信息。主要板块包含:招标公告、非招标公告、系统通知、政策法规。 2、立项管理:企业用户可对需要采购的项目进行立项申请,并提交审批,查看所…...
ubantu libssl.so.1.1: cannot open shared object file
libssl.so.1.1: cannot open shared object file 使用 Ubuntu 22.04 时,有时候会遇到如下错误 error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory 这是因为Ubuntu 22.04 默认使用的是 openssl3.0 …...
python matlplotlib/seaborn 绘制曲线的平均值标准差阴影图
1. seaborn 旧版本(0.8.1)中使用tsplot,新版本中使用lineplot 直线代表均值,阴影代表meanstd(带有置信区间,参数ci) import seaborn as sns import matplotlib.pyplot as plt import numpy as np import pandas as p…...
【Linux基础IO篇】深入理解文件系统、动静态库
【Linux基础IO篇】深入理解文件系统、动静态库 目录 【Linux基础IO篇】深入理解文件系统、动静态库再次理解文件系统操作系统内存管理模块(基础)操作系统如何管理内存 Linux中task_struct源码结构 动态库和静态库动静态库介绍:生成静态库库搜…...
flink 写入 starrocks 报错 too many filtered rows attachment
可能原因1 把你starrocks中DDL里的varchar(...) 先修改为STRING. 一般是因为字段超出定义的长度. 可能原因2 csv里有脏数据 导致3列被切分为4列 ....PRIMARY KEY (id) NOT ENFORCED ) WITH (connector starrocks,jdbc-url ...,username ...,password ...,database-nam…...
Windows 安装 Maven
目录 安装 JDK下载 Maven配置阿里云镜像配置环境变量 安装 JDK Windows 安装 JDK 下载 Maven 下载地址:https://maven.apache.org/download.cgi 下载 apache-maven-3.9.5-bin.zip 到本地解压到 D:\Software\apache-maven-3.9.5 配置阿里云镜像 配置阿里云远程仓…...
一文读懂关于IPv6的那些事
作为下一代互联网的战略发展方向,我国正加速IPv6的升级改造,目前从网络基础设施如运营商骨干网、城域网到互联网服务商如各类云服务以及包括手机、电脑、路由器等终端设备厂商都开始支持IPv6网络。那么到底什么是IPv6?IPv6有哪些特点呢&#…...
数据结构—队列的实现
前言:上次我们已经学习了数据结构中一个重要的线性表—栈,那么我们这一次就来学习另外一个重要的线性表—队列。 目录: 一、 队列的概念 二、 队列的实现: 1.队列的创建 三、 队列的操作 1.初始化队列 2.队尾入队列 3.队头出队列…...
Linux_shell脚本中的stty
shell脚本中的stty stty是用于配置终端(tty)设置的命令。它允许用户查看和修改与终端相关的各种参数。下面是stty命令的一些常见用法和参数: 基本语法: stty [OPTION] [SETTING]常见选项和参数: 基本设置࿱…...
HTML转PDF模板
一、准备pom依赖 <dependency><groupId>com.itextpdf</groupId><artifactId>html2pdf</artifactId><version>1.0.2</version></dependency><dependency><groupId>org.freemarker</groupId><artifactId&g…...
Clickhouse学习笔记(14)—— Clickhouse监控
ClickHouse 运行时会将一些个自身的运行状态记录到众多系统表中,如下所示: 为了直观方便地监控ck的运行情况,使用Prometheus Grafana 的组合来进行监控 Prometheus 负责收集各类系统的运行指标;Grafana 负责可视化 Prometheus&a…...
Vue3 + Three.js + gltf-pipeline大型园区场景渲染与3D业务
在非使用unity作为3D渲染方案的前提下,对与目前web开发者比较友好的除了canvas场景需要的2D babylon.js,fabric.js, Three.js是目前针对于jsWeb用户最直接且比较友好的3D引擎方案了。 准备工作: 1.明确需要用的场景方案都有那些,模…...
(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)
题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...
使用VSCode开发Django指南
使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架,专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用,其中包含三个使用通用基本模板的页面。在此…...
Leetcode 3576. Transform Array to All Equal Elements
Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到…...
【OSG学习笔记】Day 18: 碰撞检测与物理交互
物理引擎(Physics Engine) 物理引擎 是一种通过计算机模拟物理规律(如力学、碰撞、重力、流体动力学等)的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互,广泛应用于 游戏开发、动画制作、虚…...
Java 8 Stream API 入门到实践详解
一、告别 for 循环! 传统痛点: Java 8 之前,集合操作离不开冗长的 for 循环和匿名类。例如,过滤列表中的偶数: List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...
Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)
概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...
基于服务器使用 apt 安装、配置 Nginx
🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...
【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例
文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...
[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...
成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战
在现代战争中,电磁频谱已成为继陆、海、空、天之后的 “第五维战场”,雷达作为电磁频谱领域的关键装备,其干扰与抗干扰能力的较量,直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器,凭借数字射…...
