当前位置: 首页 > news >正文

C/C++编译整理

1. 编译器

  1. 查看编译情况
gcc main.c -o main -v # -v查看编译详情
g++ main.c -o main -v # -v查看编译详情
  1. 添加预处理头文件
  • 在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
  1. 添加汇编动态/静态链接库
  • 找到动态链接库的路径
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/MyLib  
export LD_LIBRARY_PATH  
  • 找到静态库的路径
LIBRARY_PATH=$LIBRARY_PATH:/MyLib  
export LIBRARY_PATH  

2. Cmake编译

  1. 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等变量来保存包的查找状态。
  1. 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.代码示例&#xff08;1&#xff09;Stack.h&#xff08;2&#xff09;Stack.c&#xff08;3&#xff09;Test.c&#xff08;4&#xff09;运行结果&#xff08;5&#xff09;完整代码演示 二、队列1.队列的概念2.队列的实现3.代…...

苍穹外卖阿里云oss存储笔记

阿里云oss 阿里云对象存储oss&#xff08;Object Storage Service&#xff09;&#xff0c;是一款海量&#xff0c;安全&#xff0c;低成本&#xff0c;高可靠得云存储服务&#xff0c;使用oss&#xff0c;您可以通过网络随时存储和调用包括文本&#xff0c;图片&#xff0c;视…...

Kafka 集群搭建过程

前言 跟着尚硅谷海哥文档搭建的Kafka集群环境&#xff0c;在此记录一下&#xff0c;侵删 注意&#xff1a;博主在服务器上搭建环境的时候使用的是一个服务器&#xff0c;所以这篇博客可能会出现一些xsync分发到其他服务器时候的错误&#xff0c;如果你在搭建的过程中出现了错…...

【算法随记】在计算过程中模的情况

https://leetcode.cn/problems/power-of-heroes/ 计算过程中&#xff0c;可以放心模的情况&#xff1a; 加减乘 先模再加再模和直接加再模一样 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&#xff09;PC1属于 vlan 10 &#xff0c;IP地址为 192.168.10.1/24&#xff0c; 网关为 192.168.10.2542&#xff09;PC2属于 vlan 20 &#xff0c;IP地址为 192.168.20.1/24&#xff0c; 网关为 192.168.20.254**3&#xff09;确保PC1与PC2互通4…...

数组指针、函数指针、指针数组、函数 指针数组、指针函数详细总结

1.数组指针概念和应用 首先数组指针应该是一个数组&#xff0c;它的定义如下&#xff1a; 数组指针&#xff0c;指的是数组名的指针&#xff0c;即数组首元素地址的指针。即是指向数组的指针。例&#xff1a;int (*p)[10]; p即为指向数组的指针&#xff0c;又称数组指针。 数…...

Linux存储学习笔记

相关文章 Linux 存储系列&#xff5c;请描述一下文件的 io 栈&#xff1f; - 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.只能做一台主机内的进程间通信&#xff0c;协议族&#xff08;地址族&#xff09;指定为&#xff1a;AF_UNIX AF_LOCAL 2.bsp-lcd&#xff1a; s类型文件&#xff0c;就是域套接字 3.如果客户端不手动绑定&#xff0c;则操作系统不会创建一个套接字文件…...

探索短视频小程序/小年糕

短视频小程序的兴起&#xff0c;为创作者提供了一个全新的平台&#xff0c;让他们能够以更专业的方式展现自己的作品。这种创作形式不仅要求作品内容足够精彩还需要有深度的思考和逻辑性的呈现。本文将探索短视频小程序的专业与深度的创作之道&#xff0c;帮助创作者更好地发挥…...

基于MATLAB开发AUTOSAR软件应用层Code mapping专题-part 7 Function callers标签页介绍

不知不觉这个code-mapping专题已经写了6篇文章了,今天是我们这个专题的最后一篇文章了介绍Function callers 这个其实很简单,以前的文章里也有提到CS接口实现两个SWC之间的CS调用,我们在从Code-mapping的角度在说下 首先还是看下模型 我们还记得在simulink里我们用function…...

ARM开发(cortex-A7核中断实验)

1.实验目的&#xff1a;实现KEY1/LEY2/KE3三个按键&#xff0c;中断触发打印一句话&#xff0c;并且灯的状态取反&#xff1b; key1 ----> LED3灯状态取反&#xff1b; key2 ----> LED2灯状态取反&#xff1b; key3 ----> LED1灯状态取反&#xff1b; 2.分析框图: …...

关于融合项目点云pointpillars检测不显示三维检测框问题的解决

这个问题主要还是launch文件中出现了一些偏差。 launch文件的第26行 这里原先是0.6&#xff0c;在检测kitti的时候是0.6&#xff0c;由于kitti是64线激光雷达&#xff0c;我个人用的是16线激光雷达&#xff0c;所以把0.6降到了0.2.出现了三维检测框&#xff0c;问题解决...

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列表&#xff0c;用于初始化建立和Kafka集群的连接。列表格式为host1:port1,host2:port2,…&#xff0c;无需添加所有的集群地址&#xff0c;kafka会根据提供的地址发现其他的地址&…...

PMP P-01 Basic Knowledge

PMP基础知识...

java八股文面试[数据结构]——ArrayList和LinkedList区别

ArrayList和LinkedList的异同 二者的线程都不安全&#xff0c;相对线程安全的Vector,执行效率高。此外&#xff0c;ArrayList时实现了基于动态数组的数据结构&#xff0c;LinkedList基于链表的数据结构&#xff0c;对于随机访问get和set&#xff0c;ArrayList觉得优于LinkedLis…...

vue-sonner:轻量级Vue通知组件的高效集成方案

vue-sonner&#xff1a;轻量级Vue通知组件的高效集成方案 【免费下载链接】vue-sonner &#x1f514; An opinionated toast component for Vue. 项目地址: https://gitcode.com/gh_mirrors/vu/vue-sonner 项目概述 vue-sonner是一个为Vue和Nuxt应用设计的轻量级通知组…...

MQTTX连接风暴下的ECONNRESET:从异常表象到服务端会话队列的深度剖析

1. 当MQTTX遭遇连接风暴&#xff1a;ECONNRESET异常现象解析 第一次看到控制台刷出"READ ECONNRESET"错误时&#xff0c;我正端着咖啡准备测试新部署的MQTT集群。这个看似简单的网络断开提示&#xff0c;背后隐藏着服务端会话队列的深度博弈。想象一下早高峰的地铁闸…...

用 AI 养了一个“女朋友“:陪聊 + 自拍功能完全指南

免责声明&#xff1a;Clawra 是 AI&#xff0c;不会真的爱你。但她会在你孤独的深夜发一张咖啡馆自拍&#xff0c;这已经比很多人强了。 她是谁&#xff1f; Clawra 是内置在 im-claude 里的 AI 人设角色&#xff0c;通过 Telegram Bot 和你聊天。你也可以给她其他的名字&…...

像素幻梦维度参数面板详解:精准调控每一粒像素的生成逻辑

像素幻梦维度参数面板详解&#xff1a;精准调控每一粒像素的生成逻辑 1. 像素幻梦创意工坊简介 Pixel Dream Workshop&#xff08;像素幻梦创意工坊&#xff09;是一款基于FLUX.1-dev扩散模型的像素艺术生成工具。它采用独特的16-bit现代明亮风格界面设计&#xff0c;为创作者…...

别再只跑Demo了!手把手教你用vLLM部署微调后的Qwen2.5-3B-Instruct模型,实现高效批量推理

从微调到生产&#xff1a;Qwen2.5-3B-Instruct模型的高效推理部署实战 当开发者完成LoRA微调后&#xff0c;往往会面临一个现实问题&#xff1a;如何将训练好的模型真正用起来&#xff1f;原生Transformers推理在吞吐量和延迟上的表现&#xff0c;很难满足生产环境的需求。本文…...

Optimizing ImageNet Classification with Advanced Deep Convolutional Neural Networks

1. 深度卷积神经网络在ImageNet分类中的核心挑战 ImageNet分类任务一直是计算机视觉领域的标杆性挑战&#xff0c;这个包含1400万张手工标注图像的数据集&#xff0c;要求模型能够准确识别22000个不同类别的物体。当我第一次尝试用传统卷积神经网络处理这个任务时&#xff0c;遇…...

HiDream_E1_1:全新AI绘图GGUFS模型来袭

HiDream_E1_1&#xff1a;全新AI绘图GGUFS模型来袭 【免费下载链接】HiDream_E1_1_bf16_ggufs 项目地址: https://ai.gitcode.com/hf_mirrors/ND911/HiDream_E1_1_bf16_ggufs 导语&#xff1a;AI图像生成领域再添新成员&#xff0c;HiDream_E1_1_bf16_ggufs模型正式发布…...

GME多模态向量模型助力AI编程:代码与注释的跨模态理解工具

GME多模态向量模型助力AI编程&#xff1a;代码与注释的跨模态理解工具 1. 引言&#xff1a;当代码能听懂人话 你有没有过这样的经历&#xff1f;面对一个庞大的代码库&#xff0c;想找一个实现特定功能的函数&#xff0c;却记不清它的名字&#xff0c;只能靠模糊的记忆在文件…...

Meixiong Niannian画图引擎CFG引导实验:从3.0到12.0的画质变化图谱

Meixiong Niannian画图引擎CFG引导实验&#xff1a;从3.0到12.0的画质变化图谱 1. 引言&#xff1a;为什么CFG系数如此重要&#xff1f; 如果你用过AI画图工具&#xff0c;一定遇到过这样的困惑&#xff1a;明明描述词写得很好&#xff0c;为什么生成的图片要么太“放飞自我”…...

政务大模型在智能客服中的实践:从架构设计到性能优化

最近在参与一个政务智能客服系统的项目&#xff0c;从零开始基于大模型技术构建了一套服务。政务领域的客服系统和我们常见的电商或通用客服很不一样&#xff0c;它对于准确性、稳定性和安全性的要求极高。今天就来分享一下我们在这个项目中的实践&#xff0c;从架构设计到性能…...