41 pkg-config和gtk+

3D点云处理:PointNet++与PointTransformer的对比 摘要: 3D点云处理中,PointNet++和PointTransformer是两种主流深度学习模型。PointNet++通过分层采样和分组策略提取局部特征,而PointTransformer利用自注意力机制捕捉全局上下文。实验表明,PointTransformer在分类(ModelNet40准确率92.1%)和分割(ShapeNet mIoU 85.7%)任务上性能更优,但计算开销较大(训练时间180秒/轮)。PointNet++在实时性场景更具优势(训练时间120秒/轮)。未来可结合两者优势,或优化Tr 阅读详情
通常来说gcc在编译链接linux环境下的c语言代码时会在/lib和/usr/lib中去寻找对应的库文件,如果库文件没有这两个位置的时候则需要将库文件信息添加到库文件搜索路径中,可以通过如下两种方法来设置库文件的搜索路径:

1. 在环境变量 LD_LIBRARY_PATH 中指明库的搜索路径。    
2. 在 /etc/ld.so.conf 文件中添加库的搜索路径。

在gtk+的编译中会使用如下的编译参数`pkg-config --cflags --libs gtk+-2.0`,其中pkg-config是一个管理工具(库信息提取工具),用于向用户/程序提供相应的库路径、版本号等信息,其利用库提供者提供的.pc文件实现了如下几个功能:

1、检查库的版本号。如果所需要的库的版本不满足要求,它会打印出错误信息,避免链接错误版本的库文件。
2、获得编译预处理参数,如宏定义,头文件的位置。
3、获得链接参数,如库及依赖的其它库的位置,文件名及其它一些连接参数。
4、自动加入所依赖的其它库的设置。

其最主要的功能是当安装完库之后用户可以不管这个库的所有位置而直接使用相同的命令进行编译,pkg-config工具会自行去找到库的所在。

gtk+的编译的参数--cflags用于给出编译时的选项,而-libs用于给出链接时的选项

.pc文件保存位置在usr/lib/pkgconfig下

alloy@ubuntu:/usr/lib/pkgconfig$ ls
camel-1.2.pc                  gmime-2.6.pc                            libedataserver-1.2.pc     mozjs185.pc
camel-provider-1.2.pc         gnome-bluetooth-1.0.pc                  libedataserverui-3.0.pc   mutter-plugins.pc
clutter-gtk-1.0.pc            gnome-desktop-3.0.pc                    libgdiplus.pc             nautilus-sendto.pc
dbus-python.pc                gobject-introspection-1.0.pc            libgnomekbd.pc            notify-python.pc
enchant.pc                    gobject-introspection-no-export-1.0.pc  libgnomekbdui.pc          pm-utils.pc
evince-document-3.0.pc        gtk-dotnet-2.0.pc                       libgnome-menu-3.0.pc      pygobject-2.0.pc
evince-view-3.0.pc            gtkmm-3.0.pc                            libgtkhtml-4.0.pc         pygobject-3.0.pc
evolution-data-server-1.2.pc  gtk-sharp-2.0.pc                        libgtop-2.0.pc            python-2.7.pc
fontutil.pc                   gucharmap-2.90.pc                       libical.pc                python2.pc
gck-1.pc                      gweather-3.0.pc                         libmutter.pc              python.pc
gcr-3.pc                      ibus-table.pc                           libnautilus-extension.pc  telepathy-farstream.pc
gdkmm-3.0.pc                  libbrasero-burn3.pc                     libnm-util.pc             telepathy-glib.pc
ginn.pc                       libbrasero-media3.pc                    libpanelapplet-4.0.pc     totem-plparser-mini.pc
gjs-1.0.pc                    libebackend-1.2.pc                      libpeas-1.0.pc            totem-plparser.pc
gjs-dbus-1.0.pc               libebook-1.2.pc                         libpeas-gtk-1.0.pc        vte-2.90.pc
gjs-internals-1.0.pc          libecal-1.2.pc                          libquvi-scripts.pc        xorg-wacom.pc
gladeui-2.0.pc                libedata-book-1.2.pc                    libwnck-3.0.pc            xres.pc
glib-sharp-2.0.pc             libedata-cal-1.2.pc                     libxklavier.pc

alloy@ubuntu:/usr/lib/pkgconfig$ pkg-config --cflags glib-2.0
-I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include 
零基础NPU固件开发学习路线--1.4 学习路线与工具链:编译器、仿真器、调试器、烧录工具 本文系统介绍了NPU固件开发的学习路径与工具链。学习路线分为四个阶段:基础认知、环境搭建、模块开发和联调量产。重点讲解了交叉编译器、代码管理工具、调试器和烧录工具等核心工具链的使用方法。文章强调工具链在NPU固件开发中的关键作用,详细阐述了从代码同步到固件烧录的全流程开发闭环,为开发者提供了一条从零基础到独立开发的完整学习路径。 阅读详情

相关推荐

从VASP数据到LAMMPS模拟:手把手教你用DeePMD-kit搭建Cr-Si-Fe合金势函数

本文详细介绍了使用DeePMD-kit从VASP数据构建Cr-Si-Fe合金深度势能模型的全流程,包括数据准备、模型训练、优化及LAMMPS集成。通过实战教程,帮助研究者掌握DeePMD-kit训练技巧,实现高精度分子动力学模拟,提升材料计算效率。

weixin_33737134的博客 521

pkg-config

后来,找到了 `pkg-config` 这个绝招,只要一行就解决了我上面的问题。

lyndon 1329

RK3308B开发板WiFi+蓝牙一体模组RTL8821CS驱动移植保姆级教程(含DTS配置与避坑点)

本文提供RK3308B开发板RTL8821CS WiFi+蓝牙模组驱动移植的完整教程,涵盖SDK环境配置、DTS设备树设置、内核编译优化及功能验证全流程。重点解析引脚复用冲突、电源管理等关键配置,并给出常见错误解决方案,帮助开发者快速实现双模通信功能。

weixin_42531163的博客 398

Linux中pkg-config的使用

pkg-config在编译应用程序和库的时候作为一个工具来使用。pkg-config可以帮助你插入正确的编译选项,而不需要你通过硬编码的方式来找到glib(或其他库)。--cflags一般用于指定头文件,--libs一般用于指定库文件。大家应该都知道一般用第三方库的时候,就少不了要使用到第三方的头文件和库文件。我们在编译、链接的时候,必须要指定这些头文件和库文件的位置。对于一个比较大的第三方库,其头文件和库文件的数量是比较多的,如果我们一个个手动地写,那将是相当的麻烦的。

顺其自然~专栏 8100

Matlab实战:从零搭建弹道导弹六自由度仿真模型(附完整代码)

本文详细介绍了如何使用Matlab从零搭建弹道导弹六自由度仿真模型,涵盖仿真环境配置、核心运动方程实现、气动力建模及仿真结果分析。通过完整代码示例,帮助读者掌握弹道导弹六自由度仿真的关键技术,适用于航空航天工程和复杂系统建模领域。

x8y9z0的博客 947

DIY玩家必备:用SSS1623芯片打造高性价比USB麦克风(附完整电路图)

本文详细介绍了如何利用SSS1623芯片DIY高性价比USB麦克风,包括元件选型、电路设计、PCB布局及调试技巧。通过完整的电路参考设计和实用建议,帮助电子爱好者打造专业级录音设备,实现免驱动即插即用功能。

weixin_29166013的博客 239

如何查看gtk版本 pkg使用

pkg-config 详解 查看模块版本 修改 pkg-config 详解 一、编译和连接 一般来说,如果库的头文件不在 /usr/include 目录中,那么在编译的时候需要用 -I 参数指定其路径。由于同一个库在不同系统上可能位于不同的目录下,用户安装库的时候也可以将库安装在不同的目录下,所以即使使用同一个库,由于库的路径的不同,造成了用 -I 参数指定的头文件的路径也可...

weixin_33978016的博客 222

LangChain面试内容整理-知识点27:LangChain性能调优

LLM应用可能面临响应慢、成本高等性能问题。LangChain提供了一些优化方法和经验来提升性能和效率。

不务正业的猿 327

Ubuntu18.04+GTK安装

由于Ubuntu18已经回归到了主流Linux桌⾯gnome上,所以我们搭建gtk开发环境的时候,不需要再额外安装gnome了。3)安装pkg-config⽤于⾃动查找gtk的头⽂件位置。1)安装GNU编译链接⼯具。

my_angle2016的博客 3229

MCAL中MCU的配置

MCAL配置中MCU配置,PLL计算配置,系统时钟以及各模块参数配置

dhyw12399999的博客 3794

Windows 11 安装 JDK 21:下载、安装、配置环境变量、验证

本文详细介绍了在 Windows 11 系统中安装 JDK 21 的完整流程,包括从 Oracle 官网下载压缩包、解压至自定义目录、配置 JAVA_HOME 与 Path 环境变量,并验证安装是否成功。文章推荐使用 ZIP 压缩包而非安装程序,以实现绿色便携、多版本共存等优势,并通过一个包含 Java 21 新特性的示例程序进行功能验证,适合开发者快速上手。

寒水馨 · 轻量级技术文档 · hanshuixin.org 2519

pkg-config用法

pkg-configpkg-config程序是干什么用的?简单的说就是向用户向程序提供相应库的路径、版本号等信息的程序。譬如说我们运行以下命令:<br />pkg-config  查看gcc的CFLAGS参数<br />$pkg-config --libs --cflags opencv会显示如下信息:-I/usr/include/opencv -lcxcore -lcv -lhighgui -lcvaux各位看官,你看这不就是我们用gcc编译连接时CFLAGS的参数吗?因此当我们需要编译连接某个库时,我们

林学森的技术专栏 5487

[QMT量化交易小白入门]-十二、QMT回测龙头打首板和连板的策略

class a():passA = a() #创建空的类的实例 用来保存委托状态field_list定义了需要的市场数据字段,而类a用于保存交易状态。

木头大左的博客 4760

pkg-config 使用指南

3.24.41。

shhpeng的博客 216

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

安装GTK+/DirectFB图形环境

安装GTK+/DirectFB图形环境Posted: 八月 26th, 2009 | Views: 2,865 次浏览 | 2 Comments »<br />在学习了一段时间的GTK+图形编程后,考虑是否可以将该环境移植到嵌入式系统上,在网上查阅了相关资料后,确定了可行性,本文就是介绍了在虚拟机X86平台Linux系统下配置GTK+图形显示环境的过程。<br />一般的嵌入式系统使用MiniGUI、Qt/E、uC/GUI等图形环境,它们都是专业的面向嵌入式系统,经过专门裁剪后的集成包,相对比较成熟

uunubt的专栏 1224

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

linux gtk版本升级,引用 升级GTK

先飞 的 升级GTK这几天因为项目的原因,我把gtk升级到2.10.4在升级的过程之中,参考了其他人的一些升级例子,[url]http://www.host01.com/Print.Html?43739[/url]结合自己的体会,就有如下这篇文章,希望大家copy的时候把这个地址也发出去.表示对原文的支持[url]http://www.cublog.cn/u/1210/showart.php?id...

weixin_42601134的博客 840

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

在Linux下,从头构建图形环境 TinyX + GTK

在Linux下,从头构建图形环境 TinyX + GTK

jggyff的博客 215

引用 升级GTK 

引用 先飞 的 升级GTK这几天因为项目的原因,我把gtk升级到2.10.4 在升级的过程之中,参考了其他人的一些升级例子, [url]http://www.host01.com/Print.Html?43739[/url] 结合自己的体会,就有如下 这篇文章,希望大家copy的时候把这个地址也发出去.表示对原文的支持 [url]http://www.cublog...

weixin_33769125的博客 172

spice-gtk-client配置流程

SPICE协议配置手册-Centos6.6 安装前准备 1、系统环境 Centos 6.6 安装 2、环境配置 2.1、pkg环境配置 exportPKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig/:/usr/local/share/pkgconfig/:/usr/lib64/pkgconfig/:/usr/...

weixin_30493321的博客 256

【开源软件移植】NitroShare 适配鸿蒙 PC 全流程实战 — Qt-OHOS × 手把手移植教程

本文详细记录了将开源文件共享工具 NitroShare 移植到鸿蒙 PC 平台的全过程。文章首先介绍了选择 NitroShare 的四个关键原因:基于 CMake 构建系统、依赖简单(仅需 Qt5 网络/界面模块)、能够验证 Qt-OHOS 的 SSL 特性兼容性,以及暴露鸿蒙沙箱环境对网络端口的限制问题。 教程从环境准备开始,详细说明了如何在 DevEco Studio 中创建 HAP 壳工程、配置 Qt 运行时库、签名 so 文件等前置步骤。随后分阶段展示了移植过程中的关键点,包括 CMake 配置调整

博客 1万+

pkg-config使用学习

pkg-config使用学习

Eng_ingLi的博客 2861

pkg-config 详解

http://blog.youkuaiyun.com/newchenxf/article/details/51750239 1 什么是pkg-config pkg-config是一个linux下的命令,用于获得某一个库/模块的所有编译相关的信息。 例子: pkg-config opencv –libs –cflags 结果: -I/usr/include/opencv /usr/lib/x86_64-linux-gnu/libopencv_calib3d.so /usr/lib/x86_64-lin

pro_houjibofa的博客 9584

如何从源码包安装软件?

如何从源码包安装软件?从源码包安装软件最重要的就是仔细阅读README INSTALL等说明文件它会告诉你怎样才能成功安装 通常从源码包安装软件的步骤是:tar jxvf gtk+-2.4.13.tar.bz2 解开源码包cd gtk+-2.4.13/ 进入源码目录./configure 似乎在某些环境下./configure会造成终端退出而使用. configure则会正常运行,如果有这

OldJavaMan的专栏 2607

pkg-config的一些用法

我们在用第三方库的时候,经常会用到pkg-config这个东西来编译程序。那pkg-config究竟是什么呢?本博文简单地说一下。 pkgconfig有什么用: 大家应该都知道用第三方库,就少不了要使用到第三方的头文件和库文件。我们在编译、链接的时候,必须要指定这些头文件和库文件的位置。 对于一个比较大第三方库,其头文件和库文件的数量是比较多的。如果我们一个个手动地写,那将是相当麻烦的。所以,pkg-config就应运而生了。pkg-config能够把这些头文件和库...

zhaominyong的专栏 1396

Linux:pkg-config的一些用法(用于获得某个已安装的第三方库或模块的所有编译信息)

        我们在用第三方库的时候,经常会用到pkg-config这个东西来编译程序。那pkg-config究竟是什么呢?本博文简单地说一下。   pkgconfig有什么用:         大家应该都知道用第三方库,就少不了要使用到第三方的头文件和库文件。我们在编译、链接的时候,必须要指定这些头文件和库...

weixin_44498318的博客 920

gtk-config vs pkg-config

Dirk,gtk+-1.2 and gtk+-2.0 arent compatible, you cannot just replacegtk+-1.2 with gtk+-2.0 and recompile (ie the application must have beenported to gtk+-2.0, and in that case, the developpers will m

striker的专栏 1550
上一篇: 40 在Ubuntu下编写shell脚本流程简单说明
下一篇: 42 Linux bash shell的内部变量
alloy
博客等级 码龄19年 15粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值