首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

“在pkg-config搜索路径中未找到程序包”。但实际上有没有

在pkg-config搜索路径中未找到程序包是一个常见的错误消息,它表示在使用pkg-config工具时无法找到所需的程序包。

pkg-config是一个用于检索编译和链接时所需的库的工具。它通过搜索预定义的路径来查找库的元数据文件(.pc文件),这些文件包含有关库的信息,例如头文件路径、库文件路径和编译选项。

当出现“在pkg-config搜索路径中未找到程序包”的错误消息时,可能有以下几种原因和解决方法:

  1. 程序包未安装:首先,确保所需的程序包已经正确安装在系统中。可以使用包管理器来安装程序包,例如在Ubuntu上使用apt-get命令,或者在CentOS上使用yum命令。
  2. pkg-config路径配置错误:检查pkg-config的搜索路径配置是否正确。可以通过运行pkg-config --variable pc_path pkg-config命令来查看当前的搜索路径。确保所需的程序包的.pc文件位于其中之一的路径下。
  3. 程序包的.pc文件缺失或损坏:如果程序包的.pc文件缺失或损坏,pkg-config将无法找到所需的库。在这种情况下,可以尝试重新安装程序包,或者手动修复或替换损坏的.pc文件。
  4. 环境变量配置错误:检查环境变量PKG_CONFIG_PATH是否正确配置。该变量指定了额外的搜索路径,pkg-config将在这些路径下查找.pc文件。确保所需的程序包的.pc文件位于其中之一的路径下。
  5. 编译选项错误:如果在编译时使用了pkg-config命令,并且出现了该错误消息,可能是因为编译选项中指定的程序包名称有误。请确保使用正确的程序包名称。

总之,当出现“在pkg-config搜索路径中未找到程序包”的错误消息时,需要检查程序包是否正确安装、pkg-config的搜索路径配置是否正确、程序包的.pc文件是否存在且完好无损,以及环境变量和编译选项是否正确配置。根据具体情况进行逐一排查和修复。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Linux编译安装安Python3.73.8出现_ssl模块错误| python运行ssl模块出现ModuleNotFoundError

PKG_CONFIG_PATH:它指定pkg-config将在其中搜索其.pc文件的其他路径。此变量用于增强pkg-config的默认搜索路径。...典型的Unix系统上,它将搜索目录/usr/lib/pkgconfig和/usr/share/pkgconfig。这通常包括系统安装的模块。...但是,某些本地模块可能安装在不同的前缀,例如/usr/local。在这种情况下,必须预先设置搜索路径,以便pkg-config可以找到.pc文件。...pkg-config程序用于检索有关系统已安装库的信息。 pkg-config的主要用途是提供编译程序和链接到库的必要细节。此元数据存储pkg-config文件。...命令软连到/usr/bin/openssl 8 ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl 5.修改系统配置 1 #写入openssl库文件的搜索路径

7.8K41

Java异常宝典

开发过程,我们会遇到各种各样的问题,这边博主给大家收集总结了一下,有需要的可以收藏哦~ 1、java.lang.ArithmeticException 算术运算异常,例如除数为0,所以引发了算数异常...8、java.lang.classnotfoundexception 这个异常是很多原本jb等开发环境开发的程序员,把jb下的程序包放在wtk下编译经常出现的问题,异常的解释是"指定的类不存在",这里主要考虑一下类的名称和路径是否正确即可..., 如果是jb下做的程序包,一般都是默认加上package的,所以转到wtk下后要注意把package的路径加上。...版本以后取消了spring自动注入,需要重写源码SqlSessionDaoSupport的setSqlSessionFactory方法, 并且重写后的方法上添加spring注解@Resource或者...org.springframework.web.multipart.MultipartException: Current request is not a multipart request 首先检查提交的FORM有没有

1.1K10

Ubuntu 12.04 + opencv 2.4.1 + Qt 4.8.3 + Qt creater 2.5.2 安装配置

比如在程序 #include  这样使用链接的相对路径就能找到头文件 还有路径可能大家都不一样,老版本的opencv动态库名称也不一样。...其中的libraries 就是库文件的搜索路径列表,各路径之间用:号隔开。...编译器会在这些 搜索路径以及-L 选项指定的路径查找用 -l 选项指定的库,比如-lstack, 编译器会首先找有没有共享库libstack.so,如果有就链接它,如果没有就找有没有 静态库libstack.a...现代连接器处理动态库时将链接时路径(Link-time path)和运行时路径(Run-time path)分开,用户可以通过-L 指定连接时库的路径,通过-R(或- rpath)指定程序运行时库的路径...实际上 Makefile 是 由 qmake -o Makefile xxx.pro 产生。

1.7K100

Nginx流媒体服务器搭建「建议收藏」

/configure --enable-shared --enable-libfdk-acc # 如果报错nasm或者yasm未找到或版本过低,需要安装依赖 # CentOS7.6可使用yum安装 yum...nasm # 如果系统版本过低,需手动安装 # https://www.nasm.us/pub/nasm/releasebuilds/ # 如果出现警告 using libfdk without pkg-config...enable-shared --enable-libfdk-acc # 编译 make # 安装 make install 2.3 安装Nginx 进入Nginx编译目录(此处生产环境,不方便部署可搜索...测试地址 拉流地址: http://服务器IP/vod/视频.mp4/index.m3u8 网页播放测试 http://服务器IP/data/视频.mp4 4.3 错误解决 此时可以进入nginx目录logs...查看日志 400错误 一般是文件格式问题,可根据日志错误进行搜索 404错误 一般是配置或者视频文件存放位置错误,可根据日志错误进行搜索 5.流媒体服务器拓展 发现了一款基于GO的开源流媒体服务器开发框架

2.9K20

macOS 安装解释性数学视频的动画引擎 Manim

我提前道歉包含了许多更简单的步骤,这篇文章旨在 让没有编程背景的人可以访问 Manim。...步:下载并安装 Hombrew 和 Python3 首先需要的是程序包管理器 Homebrew,它将帮助我们安装一些 pip 无法正确安装的软件包。...您可以通过键入以下内容找到当前目录(当前文件路径): pwd 您可以通过键入以下内容找到当前目录的文件夹: ls 并且您可以通过运行以下命令更改目录以输入其中一个文件夹: cd folder/subfolder...基本上这将是 Manim 文件夹重新安装单独版本的 Python3。虚拟环境运行时,您将能够运行 Python 并将软件包安装到该特定文件夹而不是整个系统。...我的例子,我用 “animation/manim37/output” 替换了那一行。您应该用您的文件路径替换它(请记住,上面一行的 〜 是主目录的文件路径的缩写)。

3.6K70

使用SDL2显示一张图片,SDL2上手贴

主要需要说明的有两点,其实跟这段代码并没有直接关系,而是有关在众多的绘图技术、架构、方案,SDL处于一个什么位置: 1.首先是绘图哲学,使用过OpenGL及Direct3D的看这些代码应当不陌生,...这种方式对速度不敏感,虽然有可能硬件加速,实际上大多工作是由CPU完成的。...这第二部分就需要用到材质,材质实际上主要是由三维物体的表面积在二维展开的图片。所以3D绘图对二维的加速实际上就是屏幕上绘制一个全屏幕的平面,然后把二维图像当做材质贴图上去的结果。...sdl2也提供了自己的包参数工具sdl2-config可以完成类似的功能,仅对自己有效,所以为了通用起见,我们还是使用pkg-config更方便一些。...但是这种方式别的shell,比如fish是不起作用的,但是$( ... )这样的方式就有了更好的通用性。

1.6K70

【ProtoBuf】2.环境配置

PS: 安装中途出现很多error,可能是轻量级云服务器性能不够,此外还有中间的一些配置错误问题,最终采用了虚拟机,解决问题的方案解决专栏 一....输入:wget,并将刚才的链接粘贴到xshell实际上就是将压缩包以及里面的代码下载到Linux环境。...如果选择了第⼆种执⾏⽅式,即修改了安装⽬录,那么还需要在/etc/profile添加⼀些内容: sudo vim /etc/profile # 添加内容如下: #(动态库搜索路径) 程序加载运⾏期间查找动态链接库时指定除了系统默认路径之外的其他路径.../bin/ #c程序头⽂件搜索路径 export C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/local/protobuf/include/ #c++程序头⽂件搜索路径 export...CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/local/protobuf/include/ #pkg-config 路径 export PKG_CONFIG_PATH

35030

Ubuntu 14.04 LTS下使用arm-linux-gcc交叉编译OpenCV 2.4.9

输入指令如下: source /root/.bashrc 检验环境变量生效的方法是:root权限下,终端输入arm,然后按Tab键,出现图示如下: ?.../build build文件夹,用vim或gedit新建文件toolchain.cmake: gedit toolchain.cmake toolchain.cmake文件填入如下内容: ###...4、编译OpenCV /opencv-2.4.9/build路径下执行命令: make make install 等待较长时间后,OpenCV的交叉编译就完成了。...平常都是这样用pkg-config的: gcc main.c `pkg-config --cflags --libs gtk+-2.0` -o main 上面的编译命令,`pkg-config --cflags...PS:命令的`不是引号,而是数字1左边那个键位的那个符号。 在前面的OpenCV配置过程pkg-config便已经生成。

9.3K90

pkg-config 用法

进行使用fuse 2.9写程序的时候,遇到了pkg-config 命令和 .pc 文件。本篇博客就具体说明一下pkg-config 命令是什么?...pkg-config命令是通过查询XXX.pc文件而知道这些的。我们所需要做的是,写一个属于自己的库的.pc文件。         pkg-config又是如何找到所需的.pc文件呢?...这环境变量写明.pc文件的路径pkg-config命令会读取这个环境变量的内容,这样就知道pc文件了。 查看 环境变量 ?         ...如果有多个.pc文件,那么pkg-config又怎么能正确找到我想要的那个呢?这就需要我们使用pkg-config命令的时候去指定。...又比如,有第三方库OpenCV,而且其对应的pc文件为opencv.pc,那么我们使用的时候,就要这样写`pkg-config --cflags --libs opencv`。

1.9K20

minigui:mgplus交叉编译警告 include locationi

https://blog.csdn.net/10km/article/details/83088803 今天交叉编译mingui的mgplus组件库时输出了一个警告: mips-linux-gnu-g...freetype2" is unsafe for cross-compilation [-Wpoison-system-directories] 显然是configure生成的交叉编译Makefile文件添加了了不该有的...如上图红框标的代码,mgplus在生成Makefile时需要freetype的CFLAGS和LDFLAGS参数,但是它没有用标准的pkg-config命令(pkg-config --cflags freetype2...,pkg-config --libs freetype2)来获取,而是用freetype提供的脚本工具 freetype-config来获取CFLAGS和LDFLAGS参数。...所以交叉编译时,如果没有将交叉编译的freetype安装路径bin文件夹加入到执行程序搜索路径环境变量$PATH,那么freetype-config --cflags返回的就是当前系统安装的freetype

84010

【投稿】如何制作一个*-sys的crate

pkg-config 也不能正常工作。你得用最硬核的方式搜索(譬如:clang-sys 搜索 C:\Program Files\LLVM)。...注意 pkg-config 有一个 .statik() 选项,通常啥也干不了。...唯一的例外是 cfg(feature = "…") 检查,这是 Cargo 内建功能,可以交叉编译时安全使用。 pkg-config 检测到交叉编译时会能自动辅助(环境变量 HOST !...如果你用其他法子磁盘上搜索类库,同样得注意主机系统可能和编译目标并不兼容。 链接时的 surprise 尽量在你 sys crate 的 lib.rs 多编写针对 C 符号的测试吧。...链接器通常很”懒惰“,意味着它检测不到类库的啥问题,当你 Rust 实际用它时则“惊喜”不断。

1.4K40

linux安装软件的三种方式:yum install 、rpm安装以及源码包安装

在前面的内容多次提到的yum,这个yum是Redhat所特有的安装RPM程序包的工具,使用起来相当方便。因为使用RPM安装某一个程序包有可能会因为该程序包依赖另一个程序包而无法安装。...而使用yum工具就可以连同依赖的程序包一起安装。当然CentOS同样可以使用yum工具,而且CentOS你可以免费使用yum,Redhat只有当你付费后才能使用yum,默认是无法使用yum的。...4)升级一个rpm包 “yum update [-y] [rpm包]” 以上介绍了如何使用yum搜索、安装、卸载以及升级一个rpm包,如果你掌握了这些那么你就已经可以解决日常工作遇到的与rpm包相关问题了...【安装源码包】 其实,linux下面安装一个源码包是最常用的,笔者日常的管理工作,大部分软件都是通过源码安装的。安装一个源码包,是需要我们自己把源代码编译成二进制的可执行文件。...等check结束后生成了Makefile文件 除了查看有没有生成Makefile文件来判定有没有完成./config 的操作外,还可以通过这个命令”echo $?”

12.4K22

使用 NuGet 管理项目库

由于它名称独特,Bing 搜索的第一条搜索结果将是 ELMAH Google 代码页。 下载正确的 zip 包。该站点的下载页面有多个 zip 包。 您必须思考并选取正确的一个。...您认识的开发人员,有多少会抽出时间来根据 QR 代码验证文件? 将程序包的内容解压缩到解决方案的特定位置。...实际上,有必要将该依赖项添加到版本控制之下的文件夹,并从该位置引用该程序集。 项目中添加程序集引用。必须在 Visual Studio 项目中添加对该程序集的引用,然后才能使用该程序集。...NuGet 是一种 Visual Studio 扩展,它能够简化 Visual Studio 项目中添加、更新和删除库(部署为程序包)的操作。...成为 NuGet 创建者 创建Nuget 库 http://sidewinder.codeplex.com/ NuGet 2.0带来新的打包规约,还不支持Mono、Python和C++ NuGet 2.0

1.5K100

centos6.x升级protobuf操作流程.

到此步还没有安装完毕,/etc/profile 或者用户目录 ~/.bash_profile    命令: sudo vim /etc/profile profile文件添加下面内容 ####...### add protobuf lib path ######## #(动态库搜索路径) 程序加载运行期间查找动态链接库时指定除了系统默认路径之外的其他路径 export LD_LIBRARY_PATH...=$LD_LIBRARY_PATH:/usr/local/protobuf/lib/ #(静态库搜索路径) 程序编译期间查找动态链接库时指定查找共享库的路径 export LIBRARY_PATH=$LIBRARY_PATH...:/usr/local/protobuf/lib/ #执行程序搜索路径 export PATH=$PATH:/usr/local/protobuf/bin/ #c程序头文件搜索路径 export C_INCLUDE_PATH...:/usr/local/protobuf/include/ #pkg-config 路径 export PKG_CONFIG_PATH=/usr/local/protobuf/lib/pkgconfig

3K80

GCC编译选项_需要使用安全编译选项的语言

除了xxx-config以外,现在新的开发包一般都用pkg-config来生成链接参数,使用方法跟xxx-config类似,xxx-config是针对特定的开发包,pkg-config包含很多开发包的链接参数的生成...,用pkg-config --list-all命令可以列出所支持的所有开发包,pkg-config的用法就是pkg-config pagName --libs --cflags,其中pagName是包名...,是pkg-config--list-all里列出名单的一个,比如gtk1.2的名字就是gtk+,pkg-config gtk+ --libs --cflags的作用跟gtk-config --libs...用到的pc文件的路径,默认是/usr/lib/pkgconfig,pc文件是文本文件,扩展名是.pc,里面定义开发包的安装路径,Libs参数和Cflags参数等等。...这种方法异平台移植和嵌入式开发时用得非常普遍。 相对与交叉编译,我们平常做的编译就叫本地编译,也就是在当前平台编译,编译得到的程序也是本地执行。

1.1K20

使用Kali Nethunter破解802.1x安全性WiFi

的GitHub的某一个页面上展示了Hostapd-wpe的用法(详情点击阅读原文查看) 页面上写的比较详细,但是实践笔者还是踩了不少坑,下面开始:(注意:本文Kali 2.0及以上的版本应该也适用...libsqlite3-dev 由于手机上敲指令过于蛋疼,笔者自己ssh到了手机上,Kali的应用可以直接打开SSH服务。.../bootstrap make install 这里会出现关于gendh命令未找到的错误,原因是openssl将gendh已经换成了dhparam,该目录下的Makefile中将gendh替换为dhparam...s b | 0x00 - 0xff 将之前得到的输出结果按照 username::::response:challenge 的格式存储文本文档,注意去掉hash值的冒号...运行hashcat 后记 为了方便起见,可以将其作为用户定义脚本存储nethunter的custom command: 运行截图: ?

1.6K50
领券