C/C++编译整理
1. 编译器
- 查看编译情况
gcc main.c -o main -v # -v查看编译详情
g++ main.c -o main -v # -v查看编译详情
- 添加预处理头文件
- 在PATH中找到可执行文件程序的路径
export PATH =$PATH:$HOME/bin
- gcc找到头文件的路径
C_INCLUDE_PATH=/usr/include/libxml2:/MyLib
export C_INCLUDE_PATH
- g++找到头文件的路径
CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/include/libxml2:/MyLib
export CPLUS_INCLUDE_PATH
- 添加汇编动态/静态链接库
- 找到动态链接库的路径
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/MyLib
export LD_LIBRARY_PATH
- 找到静态库的路径
LIBRARY_PATH=$LIBRARY_PATH:/MyLib
export LIBRARY_PATH
2. Cmake编译
- find_package()
用于查找安装库的头文件、链接库等,分为两种查找模式,两种模式均为在指定路径下查找指定类型cmake文件来查找依赖的包,差异为两模式的查找路径不同。
- MODULE模式下
CMake在CMAKE_MODULE_PATH路径及CMake安装路径 下,通过查找名为Find<PackageName>.cmake的文件来查找包文件。 - CONFIG模式下
CMake在特定的 cmake变量(如CMAKE_PREFIX_PATH、CMAKE_FRAMEWORK_PATH)指定的路径及系统环境变量PATH指定的路径 下,通过查找名为<PackageName>Config.cmake或者<lower-case-package-name>-config.cmake的文件来查找包文件。 - 查找结果:
查找后,cmake定义<PackageName>_FOUND、<PackageName>_INCLUDE_DIR、<PackageName>_LIBRARIES等变量来保存包的查找状态。
- CMAKE_PREFIX_PATH列表
CMAKE_PREFIX_PATH是一个分号分隔的路径列表,用来指明软件库安装路径前缀,以供find_package(),find_program(),find_library(),find_file()和find_path()命令搜索使用,这样就方便搜索可执行文件、头文件、库文件及相关配置文件等。
list(APPEND CMAKE_PREFIX_PATH "/home/lzf/libtorch/libtorch") # 安装路径前缀
find_package(Torch REQUIRED)
linux常用`环境变量和c/c++头文件/库路径环境变量
CMake命令:find_package
相关文章:
C/C++编译整理
1. 编译器 查看编译情况 gcc main.c -o main -v # -v查看编译详情 g main.c -o main -v # -v查看编译详情添加预处理头文件 在PATH中找到可执行文件程序的路径 export PATH $PATH:$HOME/bin gcc找到头文件的路径 C_INCLUDE_PATH/usr/include/libxml2:/MyLib export C_I…...
数据结构——栈和队列
栈和队列的建立 前言一、栈1.栈的概念2.栈的实现3.代码示例(1)Stack.h(2)Stack.c(3)Test.c(4)运行结果(5)完整代码演示 二、队列1.队列的概念2.队列的实现3.代…...
苍穹外卖阿里云oss存储笔记
阿里云oss 阿里云对象存储oss(Object Storage Service),是一款海量,安全,低成本,高可靠得云存储服务,使用oss,您可以通过网络随时存储和调用包括文本,图片,视…...
Kafka 集群搭建过程
前言 跟着尚硅谷海哥文档搭建的Kafka集群环境,在此记录一下,侵删 注意:博主在服务器上搭建环境的时候使用的是一个服务器,所以这篇博客可能会出现一些xsync分发到其他服务器时候的错误,如果你在搭建的过程中出现了错…...
【算法随记】在计算过程中模的情况
https://leetcode.cn/problems/power-of-heroes/ 计算过程中,可以放心模的情况: 加减乘 先模再加再模和直接加再模一样 a m o d m b m o d m ≡ a b ( m o d m ) a\mod mb\mod m ≡ ab \ (\mod m) amodmbmodm≡ab (modm) 先模再减再模和直接减再模…...
MSTP多生成树协议(第二课)
MSTP负载均衡 实验 需求 1)PC1属于 vlan 10 ,IP地址为 192.168.10.1/24, 网关为 192.168.10.2542)PC2属于 vlan 20 ,IP地址为 192.168.20.1/24, 网关为 192.168.20.254**3)确保PC1与PC2互通4…...
数组指针、函数指针、指针数组、函数 指针数组、指针函数详细总结
1.数组指针概念和应用 首先数组指针应该是一个数组,它的定义如下: 数组指针,指的是数组名的指针,即数组首元素地址的指针。即是指向数组的指针。例:int (*p)[10]; p即为指向数组的指针,又称数组指针。 数…...
Linux存储学习笔记
相关文章 Linux 存储系列|请描述一下文件的 io 栈? - tcpisopen的文章 - 知乎 https://zhuanlan.zhihu.com/p/478443978 深入学习 Linux 操作系统的存储 IO 堆栈 - KaiwuDB的文章 - 知乎 https://zhuanlan.zhihu.com/p/636720297 linux存储栈概览 - st…...
ubuntu执行jmeter端口不够用报错(Address not available)
ubuntu执行jmeter端口不够用报错(Address not available) 解决方案 // 增加本地端口范围 echo 1024 65000 > /proc/sys/net/ipv4/ip_local_port_range// 启用快速回收TIME_WAIT套接字 sudo sysctl -w net.ipv4.tcp_tw_recycle 1// 启用套接字的重用 sudo sysctl -w net.ipv4…...
MongoDB:简单的增删改查操作
一.概述 本篇文章介绍在Navicat中对MongoDB数据库进行增删改查操作,在后面会介绍在Spring Boot中使用MongoTemplate对MongoDB数据库进行相关操作.如有必要可以先看看前面几篇文章. MongoDB:MySQL,Redis,ES,MongoDB的应用场景 MongoDB:数据库初步应用 二.在Navicat进行增删改…...
网络编程(域套接字)
一、域套接字的概念 1.只能做一台主机内的进程间通信,协议族(地址族)指定为:AF_UNIX AF_LOCAL 2.bsp-lcd: s类型文件,就是域套接字 3.如果客户端不手动绑定,则操作系统不会创建一个套接字文件…...
探索短视频小程序/小年糕
短视频小程序的兴起,为创作者提供了一个全新的平台,让他们能够以更专业的方式展现自己的作品。这种创作形式不仅要求作品内容足够精彩还需要有深度的思考和逻辑性的呈现。本文将探索短视频小程序的专业与深度的创作之道,帮助创作者更好地发挥…...
基于MATLAB开发AUTOSAR软件应用层Code mapping专题-part 7 Function callers标签页介绍
不知不觉这个code-mapping专题已经写了6篇文章了,今天是我们这个专题的最后一篇文章了介绍Function callers 这个其实很简单,以前的文章里也有提到CS接口实现两个SWC之间的CS调用,我们在从Code-mapping的角度在说下 首先还是看下模型 我们还记得在simulink里我们用function…...
ARM开发(cortex-A7核中断实验)
1.实验目的:实现KEY1/LEY2/KE3三个按键,中断触发打印一句话,并且灯的状态取反; key1 ----> LED3灯状态取反; key2 ----> LED2灯状态取反; key3 ----> LED1灯状态取反; 2.分析框图: …...
关于融合项目点云pointpillars检测不显示三维检测框问题的解决
这个问题主要还是launch文件中出现了一些偏差。 launch文件的第26行 这里原先是0.6,在检测kitti的时候是0.6,由于kitti是64线激光雷达,我个人用的是16线激光雷达,所以把0.6降到了0.2.出现了三维检测框,问题解决...
spring复习:(57)PropertyOverrideConfigurer用法及工作原理
一、属性配置文件 dataSource.urljdbc:mysql://xxx.xxx.xxx.xxx/test dataSource.usernameroot dataSource.passwordxxxxxx dataSource.driverClassNamecom.mysql.jdbc.Driver #dataSource.typecom.alibaba.druid.pool.DruidDataSource二、spring配置文件 <?xml version&…...
在axios中获取文件上传进度
1.在axios 全局配置的文件中加入一个postFile 方法在上传文件时调用。 export function postFile(url, params,config) {return new Promise((resolve, reject) > {axios.post(url, params,config).then(res > {resolve(res);}).catch(err > {reject(err);})}) } 2.…...
黑马头条-kafka配置
生产者配置 NAMEDESCRIPTIONTYPEDEFAULTVALID VALUESIMPORTANCEbootstrap.servershost/port列表,用于初始化建立和Kafka集群的连接。列表格式为host1:port1,host2:port2,…,无需添加所有的集群地址,kafka会根据提供的地址发现其他的地址&…...
PMP P-01 Basic Knowledge
PMP基础知识...
java八股文面试[数据结构]——ArrayList和LinkedList区别
ArrayList和LinkedList的异同 二者的线程都不安全,相对线程安全的Vector,执行效率高。此外,ArrayList时实现了基于动态数组的数据结构,LinkedList基于链表的数据结构,对于随机访问get和set,ArrayList觉得优于LinkedLis…...
2025年项目管理工具深度评测:Gitee如何引领技术团队协作新范式
随着数字化转型进入深水区,项目管理工具正从简单的任务管理平台进化为企业数字化转型的核心枢纽。在2025年最新发布的《全球项目管理工具评测报告》中,Gitee凭借其独特的"开发协作"一体化设计,成为中国技术团队的首选平台。本文将深…...
全流程自动化知识图谱构建:从非结构化数据到智能决策支持
全流程自动化知识图谱构建:从非结构化数据到智能决策支持 【免费下载链接】llm-graph-builder Neo4j graph construction from unstructured data 项目地址: https://gitcode.com/GitHub_Trending/ll/llm-graph-builder 在信息爆炸的时代,企业如何…...
HY-Motion 1.0在元宇宙中的应用:虚拟世界角色动画生成
HY-Motion 1.0在元宇宙中的应用:虚拟世界角色动画生成 1. 元宇宙里,角色为什么需要“活”起来 打开一个元宇宙应用,你看到的可能是一个精致的虚拟空间,但真正让人愿意停留的,从来不是静态的场景,而是能动…...
SCN随机配置网络模型在多特征分类预测中的应用
SCN随机配置网络模型SCN分类预测,SCN分类预测,多特征 输入模型。 多特征输入单输出的二分类及多分类模型。 程序内注释详细,直接替换数据就可以用。 程序语言为matlab,程序可出分类效果图,迭代优化图,混淆矩…...
UVM避坑指南:为什么你的sequence卡住了?item_done没调用的常见问题排查
UVM验证中的sequence卡死问题:item_done未调用的深度排查手册 在芯片验证领域,UVM框架的sequence机制堪称验证工程师的"瑞士军刀",但这把利器偶尔也会出现卡壳的情况。想象一下这样的场景:你的验证环境已经运行了数百个…...
Phi-4-Reasoning-Vision实操手册:官方SYSTEM PROMPT精准适配教程
Phi-4-Reasoning-Vision实操手册:官方SYSTEM PROMPT精准适配教程 1. 工具概览 Phi-4-Reasoning-Vision是基于微软Phi-4-reasoning-vision-15B多模态大模型开发的高性能推理工具,专为双卡4090环境优化。这个工具严格遵循官方SYSTEM PROMPT规范ÿ…...
【仅限首批尝鲜者】Python 3.15 JIT真实生产环境对比:Django API吞吐+22%,但Flask微服务却降15%?
第一章:Python 3.15 JIT编译器的架构演进与设计哲学Python 3.15 引入了实验性但高度结构化的内置 JIT 编译器(代号 “Tartan”),标志着 CPython 首次将即时编译能力深度集成至解释器核心,而非依赖外部工具链。其设计哲…...
SEO_网站排名不上去?试试这几个SEO解决办法
SEO:网站排名不上去?试试这几个SEO解决办法 如果你发现自己的网站在百度上的排名一直不上去,你可能正面临着一场SEO战争。SEO,全称搜索引擎优化,是提高网站在搜索引擎结果中排名的关键技术。本文将为你详细探讨一些常见…...
利用快马平台快速构建openclawskills技能分享网站原型
最近在构思一个技能分享平台openclawskills,想快速验证这个创意是否可行。传统开发流程需要搭建前后端环境、设计数据库、编写大量基础代码,耗时耗力。后来尝试用InsCode(快马)平台,发现它能大幅缩短原型开发周期,特别适合快速验证…...
Arduino控制步进电机全攻略:从脉冲计算到加速曲线优化
Arduino控制步进电机全攻略:从脉冲计算到加速曲线优化 引言:为什么需要精准控制步进电机? 在创客和嵌入式开发领域,步进电机因其精准的开环控制特性而广受欢迎。不同于普通直流电机,步进电机能够通过精确控制脉冲数量来…...
