GVKun编程网logo

在Windows中使用pkg-config查找库

3

在本文中,我们将带你了解在Windows中使用pkg-config查找库在这篇文章中,同时我们还将给您一些技巧,以帮助您实现更有效的.git/config在Windows资源库中使用Linux行结尾的

在本文中,我们将带你了解在Windows中使用pkg-config查找库在这篇文章中,同时我们还将给您一些技巧,以帮助您实现更有效的.git / config在Windows资源库中使用Linux行结尾的语法是什么?、configuration,使,git的Windows =如何编译和安装在Windows上、configure,pkg-config和PKG_CONFIG_PATH、configure: error: pkg-config and "glib-2.0 >= 2...

本文目录一览:

在Windows中使用pkg-config查找库

在Windows中使用pkg-config查找库

我正在尝试使用pkg-config在windows(msvc)中findgstreamer库

pkg-config gstreamer-0.10 –cflags –libs

但我得到这样的结果

Package gstreamer-0.10 was not found in the pkg-config search path. Perhaps you should add the directory containing `gstreamer-0.10.pc' to the PKG_CONfig_PATH environment variable No package 'gstreamer-0.10' found

当安装库时(通过使用RPM,deb或其他二进制打包系统或通过源编译来自动创build),会创build.pc like。我无法在我的gstreamer目录中find.pc文件。

在cygwin / msys bash下使用`pkg-config`作为命令行参数

./configure && make install失败

没有findpkg-config:命令,在Windows 7上使用cygwin

如何使用C ++ Boost库与pkg-config?

没有包'卢阿'发现,但我已经安装

我应该只是创build一个.pc文件的所有必要的细节。

prefix=C:Program Files (x86)OSSBuildGStreamerv0.10.7 exec_prefix=${prefix} libdir=${exec_prefix}lib includedir=${prefix}sdkincludegstreamer-0.10 toolsdir=${exec_prefix}bin pluginsdir=${exec_prefix}libgstreamer-0.10 daTarootdir=${prefix}share datadir=${daTarootdir} girdir=${datadir}/gir-1.0 typelibdir=${libdir}/girepository-1.0 Name: GStreamer Description: Streaming media framework Requires: glib-2.0,gobject-2.0,gmodule-no-export-2.0,gthread-2.0,libxml-2.0 Version: 0.10.35 Libs: -L${libdir} -lgstreamer-0.10 Cflags: -I${includedir}

或者有任何其他的方式来做到这一点,或者我错过了什么?

希望你能帮助.Thankz花时间阅读这个问题。

那么我这样做是为了find解决scheme,为什么我not found消息在我的WAFconfigurationgstreamer

conf.check_cfg(atleast_pkgconfig_version='0.0.0') conf.check_cfg(package='gstreamer-0.10',uselib_store='GSTREAMER',args='--cflags --libs',mandatory=True)

该代码在Linux中工作,也应该在Windows中工作。

加了后

那么制作.pc并将.pc目录的path设置为PKG_CONfig_PATH环境variables就行了。它并不难

看看这个 。 谢谢你的阅读和帮助我..

.git / config在Windows资源库中使用Linux行结尾的语法是什么?

.git / config在Windows资源库中使用Linux行结尾的语法是什么?

可能重复:

Git在Windows上:crlf设置是什么意思?

我正在使用支持Unix EOL的编辑器在Windows系统上编辑Linux文件。 如何设置一个特定的存储库来尊重Linux的行结束,即把它看作是一个Linux系统?

有没有办法dynamicconfigurationNginx(或其他快速反向代理)?

无法更改Java版本的GNU / Linux

用于创build用户configuration文件的Windows API

Linux / UNIX安装数据文件

如何使用位置正则expression式通过Nginxredirect/处理来自search引擎的请求

就像是:

git config core.autocrlf false

在此之后,它不应该触摸线结束。

configuration,使,git的Windows =如何编译和安装在Windows上

configuration,使,git的Windows =如何编译和安装在Windows上

我想在Windows上使ffmpeg-ruby工作。 如果可能的话。 但我不知道该怎么办

configuration

使

./configure --prefix=/opt/ffmpeg --enable-pthreads --enable-shared --enable-gpl

make

如何获取Makefile中的用户名?

C ++查找数据目录的跨平台解决scheme

对于CIFS共享上的文件,PHP file_exists有时会返回false

ImportError:没有安装django.core.handlers.wsgi的模块django mod_wsgi config apache

如何安装脚本以从命令行的任何位置运行?

sudo make install

在Windows上的git

git clone git://github.com/gwik/ffmpeg-ruby.git

cd ffmpeg-ruby

gem build ./ffmpeg-ruby.gemspec

sudo gem install ./ffmpeg-ruby-0.1.0.gem -- --with-ffmpeg-dir=/opt/ffmpeg

– 抱歉的格式,不能让它看起来更好

我如何安装一个C ++库,以便我可以使用它?

无法在centos 6.5上安装python-dev

cmake“make install”到远程机器?

如何在Ubuntu 14.04上安装MarkLogic 8?

是否可以在Windows上多次安装特定版本的Python?

如果你以前从未使用git,可以使用TortoiseGit作为GUI界面。 这需要您安装由Ignacio链接的msysgit。 可能更好地获得来源。

然后从安装了Msys和MinGW的窗口启动msys命令行。 导航到你的文件夹(你可能想挂载它们 – 请参阅msys的etc目录中的fstab文件)。 在那里你可以运行./configure和make。

make install在windows上是没有意义的,而且sudo在msys中是不存在的,所以跳过这一步 – 你的二进制文件将会在源代码文件夹中生成。

configure,pkg-config和PKG_CONFIG_PATH

configure,pkg-config和PKG_CONFIG_PATH

      1.什么是configure

      configure会根据传入的配置项目检查程序编译时所依赖的环境以及对程序编译安装进行配置,最终生成编译所需的Makefile文件供程序Make读入使用进而调用相关编译程式(通常调用编译程序都是gcc)来编译最终的二进制程序。而configure脚本在检查相应依赖环境时(例:所依赖软件的版本、相应库版本等),通常会通过pkg-config的工具来检测相应依赖环境。

      2.什么是pkg-config

      pkg-config用来检索系统中安装库文件的信息,典型的是用作库的编译和连接。一般来说,如果库的头文件不在/usr/include目录中,那么在编译的时候需要用-I参数指定其路径。由于同一个库在不同系统上可能位于不同的目录下,用户安装库的时候也可以将库安装在不同的目录下,所以即使使用同一个库,由于库的路径的不同,造成了用-I参数指定的头文件的路径和在连接时使用-L参数指定lib库的路径都可能不同,其结果就是造成了编译命令界面的不统一。可能由于编译,连接的不一致,造成同一份程序从一台机器copy到另一台机器时就可能会出现问题。
      pkg-config 就是用来解决编译连接界面不统一问题的一个工具。基本思想:pkg-config是通过库提供的一个.pc文件获得库的各种必要信息的,包括版本信息、编译和连接需要的参数等。需要的时候可以通过pkg-config提供的参数(–cflags, –libs),将所需信息提取出来供编译和连接使用。这样,不管库文件安装在哪,通过库对应的.pc文件就可以准确定位,可以使用相同的编译和连接命令,使得编译和连接界面统一。它提供的主要功能有:

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

      在默认情况下,每个支持 pkg-config 的库对应的.pc文件在安装后都位于安装目录中的lib/pkgconfig目录下.新软件一般都会安装.pc文件,没有可以自己创建,并且设置环境变量PKG_CONFIG_PATH寻找.pc文件路径,否则怎么找得到呢。使用pkg-config工具提取库的编译和连接参数有两个基本的前提:

<1> 库本身在安装的时候必须提供一个相应的.pc文件。不这样做的库说明不支持pkg-config工具的使用。
<2> pkg-config必须知道要到哪里去寻找此.pc 文件。

      3.PKG_CONFIG_PATH.

      上边的第二个基本条件就是设置这个环境变量了。环境变量PKG_CONFIG_PATH是用来设置.pc文件的搜索路径的,pkg-config按照设置路径的先后顺序进行搜索,直到找到指定的.pc 文件为止。这样,库的头文件的搜索路径的设置实际上就变成了对.pc文件搜索路径的设置。在安装完一个需要使用的库后,比如Glib,一是将相应的.pc文件,如glib-2.0.pc拷贝到/usr/lib/pkgconfig目录下,二是通过设置环境变量PKG_CONFIG_PATH添加glib-2.0.pc文件的搜索路径。
      这样设置之后,使用Glib库的其它程序或库在编译的时候pkg-config就知道首先要到/opt/gtk/lib/pkgconfig这个目录中去寻找glib-2.0.pc了(GTK+和其它的依赖库的.pc文件也将拷贝到这里,也会首先到这里搜索它们对应的.pc文件)。之后,通过pkg-config就可以把其中库的编译和连接参数提取出来供程序在编译和连接时使用。另外还需要注意的是:环境变量的这种设置方式只对当前的终端窗口有效。如果到了没有进行上述设置的终端窗口中,pkg-config将找不到新安装的glib-2.0.pc文件、从而可能使后面进行的安装(如Glib之后的Atk的安装)无法进行。
  在我们采用的安装方案中,由于是使用环境变量对GTK+及其依赖库进行的设置,所以当系统重新启动、或者新开一个终端窗口之后,如果想使用新安装的GTK+库,需要如上面那样重新设置PKG_CONFIG_PATH和LD_LIBRARY_PATH环境变量。 
  这种使用GTK+的方法,在使用之前多了一个对库进行设置的过程。虽然显得稍微繁琐了一些,但却是一种最安全的使用GTK+库的方式,不会对系统上已经存在的使用了GTK+库的程序(比如GNOME桌面)带来任何冲击。

= 2..." alt="configure: error: pkg-config and "glib-2.0 >= 2...">

= 2...">configure: error: pkg-config and "glib-2.0 >= 2...

configure: error: pkg-config and "glib-2.0 >= 2.16" not found, please set GLIB_CFLAGS and GLIB_LIBS to the correct values or pass --with-internal-glib to configure

解决办法:

# ./autogen.sh --with-internal-glib
或者
# ./configure --with-internal-glib

今天关于在Windows中使用pkg-config查找库的分享就到这里,希望大家有所收获,若想了解更多关于.git / config在Windows资源库中使用Linux行结尾的语法是什么?、configuration,使,git的Windows =如何编译和安装在Windows上、configure,pkg-config和PKG_CONFIG_PATH、configure: error: pkg-config and "glib-2.0 >= 2...等相关知识,可以在本站进行查询。

本文标签: