`

pkg-config for mingw 安装及配置

阅读更多

http://blog.csdn.net/chaosllgao/archive/2009/03/12/3984462.aspx

 

 

如果有朋友比较着急,不想听在下啰嗦,请直接进入第三节

 

.   背景

 

msys + mingw 上编译 schroedinger 的过程中,总会冒出以下的这个错误

 

error: liboil-0.3 >= 0.3.13 is required

 

从字面上看,这是因为这个工程依赖于 liboil 0.3.13 这个库,而没有找到这个库所致,检查一下自己的系统, liboil-0.3.15 已经存在,并且对应的 .a .h 文件都在相应的 path 下。这下只能看一下 configure 文件,看看到底是什么原因,经过一番痛苦的摸索,原来 configure 脚本会通过一个叫 pkg-config 的工具来检测 liboil 相应的版本,而我没有这个工具。所以下面就开始了安装 pkg-config 的过程。

 

. 寻找 pkg-config 并安装

最先找到的是 http://pkgconfig.freedesktop.org/releases/pkg-config-0.23.tar.gz , 这是一个针对 cygwin 的安装包, download 下来并配合 cygwin1.dll 一用,发现还可以,把环境等设置好后,重新运行,还是出问题。这次是因为没有设置 2 pkg-config 自身的环境变量所致。

PKG_CONFIG 代表 pkg-config.exe 这个程序的全路径

PKG_CONFIG_PATH 代表 pkg_config.exe 在寻找已安装包的目录列表

 

我的设置如下 , 打开 %MSYS_HOME%\1.0\etc\profile 文件

 

if [ $MSYSTEM == MINGW32 ]; then

 

fi

 

后面加上下面的环境变量设置

 

if [ -z "$PKG_CONFIG" ]; then

  export PKG_CONFIG=/D/gnu/pkg-config-0.23-2/bin/pkg-config.exe

fi

 

if [ -z "$PKG_CONFIG_PATH" ]; then

  export PKG_CONFIG_PATH=/mingw/lib/pkgconfig:/usr/local/lib/pkgconfig

fi

 

关闭并重新启动 msys ,环境变量已经设置好,心想这下差不多了吧,结果还是打印出上面的错误,打开 config.log 发现下面的错误描述

 

configure:21047: $PKG_CONFIG --exists --print-errors "liboil-0.3 >= $OIL_VER"

Package liboil-0.3 was not found in the pkg-config search path.

Perhaps you should add the directory containing `liboil-0.3.pc'

to the PKG_CONFIG_PATH environment variable

No package 'liboil-0.3' found

 

msys 控制台上运行命令

$PKG_CONFIG --exists --print-errors "liboil-0.3 >= 0.3.13"

错误如上,

cd ~

回到用户主目录,重新运行, OK 。莫名奇妙。总之经过一番试验后,发现 cygwin 版本的无法切换盘符,我的 msys D 盘,而工程在 G 盘,细节不再详究。

 

重新找直接可以在 mingw 下运行的版本,最终在下面这个地址找到

http://www.gtk.org/download-windows.html

 

需要下载的文件:

 

pkg-config-0.23-2.zip

http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config-0.23-2.zip

 

glib_2.18.4-1_win32.zip

http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib_2.18.4-1_win32.zip

只需要用到其中的 libglib-2.0-0.dll 文件,其他的文件可以扔掉。

 

经过上面一番折腾后,重新编译,一切 OK

 

. 总结

 

1. 下载 pkg-config-0.23-2.zip glib_2.18.4-1_win32.zip

http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.23-3_win32.zip

http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib_2.18.4-1_win32.zip

 

glib_2.18.4-1_win32.zip 中的 libglib-2.0-0.dll pkg-config.exe 放在同一目录,或者放在 $path 目录下 .

 

2. 设置环境变量

export PKG_CONFIG=/D/gnu/pkg-config-0.23-2/bin/pkg-config.exe

export PKG_CONFIG_PATH=/mingw/lib/pkgconfig:/usr/local/lib/pkgconfig

 

Done.

 

分享到:
评论

相关推荐

    pkg-config_0.23-3_win64

    在Windows环境中,pkg-config通常与MinGW或MSYS2等类似Unix工具链一起使用,因为它们提供了类似于Linux shell的环境。在这些环境中,pkg-config可以无缝地集成到构建流程中,与其他Unix-like系统的用法一致。 使用...

    pkg-config压缩包

    3. 确保你的 MingW 或 msys 环境已经正确配置,可以识别pkg-config。 4. 使用pkg-config时,你可以通过`pkg-config --help`查看其使用帮助,`pkg-config --list-all`列出所有已知的库,`pkg-config --modversion ...

    pkg-config

    在描述中提到的“可以正常使用”,意味着这个压缩包提供了一个完整的、功能齐全的pkg-config实现,可以被安装和配置在开发环境中,用于解决编译时由于缺少pkg-config导致的问题。在使用 MingW 和 MSYS 进行交叉编译...

    pkg-config_0.23-2_win64.zip

    pkg-config本身是一个linux下的命令,其功能是用于获得某一个库/模块的所有编译相关的信息。 # 在windows上面配置pkg-config 将下载的pkg-config_0.23-2_win64解压,解压的bin与MinGW-w64里的的bin目录合并。

    pkg-config-0.23 Win32+Win64

    安装或解压后,将这个可执行文件添加到系统的PATH环境变量中,就可以在任何目录下使用pkg-config命令了。 在实际使用中,pkg-config有多个命令行选项,比如: - `--cflags`:返回库的编译标志,通常包括头文件的...

    pkg_config的使用.zip

    这可能包括安装依赖库(如GLib)、配置编译选项、以及使用`pkg-config`来获取链接选项等。 在编译FFmpeg时,你可能需要运行类似以下的命令来查找和使用`pkg-config`: ```bash pkg-config --cflags libavcodec ...

    mingw32-pkg-config-0.28-11.el8.x86_64.rpm

    离线安装包,亲测可用

    mingw64-pkg-config-0.28-11.el8.x86_64.rpm

    官方离线安装包,亲测可用

    GLib (Run-time) ,gettext-runtime (Run-time) 、 pkg-config (tool),

    在Windows下的MingW环境中,由于缺乏像Linux下的自动包管理,pkg-config 的作用尤为关键,它可以帮助开发者正确地配置和链接GLib、gettext等库,使得编译过程更加顺畅。 当你在Windows上使用MingW编译项目时,如果...

    mingw-w64-i686-postgresql-13.1-1-any.pkg.tar.zst

    msys postgres数据库32bit版本

    ffmpeg各个组件下载地址+编译方法+错误处理

    ffmpeg各个组件下载地址+编译方法+错误处理,文件中都有记录,环境是mingw,ffmpeg版本是2.6.2

    Win32下MinGW与MSYS安装介绍

    ### Win32下MinGW与MSYS安装及GTK+配置详解 #### 一、MSYS与MinGW的基础概念 - **MinGW (Minimalist GNU for Windows)**:它是一套为Windows设计的GNU工具集,包括GCC编译器、连接器等,能够用来编译和链接C、C++...

    MinGW与MSYS安装详细介绍.pdf

    ### MinGW与MSYS安装详解 #### 一、MSYS的初次安装 ...综上所述,本文详细介绍了如何在Windows平台上安装和配置MSYS、MinGW以及GTK+环境,为初学者提供了完整的指南,帮助他们在Windows环境下搭建C/C++的GUI开发环境。

    另辟蹊径-利用MSYS2安装MinGW+Qt开发环境(含32位-64位-动态库-静态库-qwt-opencv等等).pdf

    - 同样,`pacman -S mingw-w64-i686-qwt`和`pacman -S mingw-w64-x86_64-qwt`用于安装qwt库,`pacman -S mingw-w64-i686-opencv`和`pacman -S mingw-w64-x86_64-opencv`用于安装opencv。 5. **配置开发环境** - ...

    ffmpeg源码windows上编译的工具打包

    接下来,`mingw-get-setup.exe`是MinGW(Minimalist GNU for Windows)的安装程序。MinGW是一个可移植的GNU工具集,它为Windows提供了GCC(GNU Compiler Collection)等开发工具,使得开发者能够在Windows下使用GCC...

    opencv343 pkg install package and related dependency

    pacman -S mingw-w64-x86_64-openexr mingw-w64-x86_64-intel-tbb mingw-w64-x86_64-protobuf mingw-w64-x86_64-libtiff mingw-w64-x86_64-jasper mingw-w64-x86_64-libwebp mingw-w64-x86_64-ilmbase mingw-w64-...

    Go 的 OpenSSL 绑定.zip

    在 macOS 上使用安装homebrew$ brew install openssl或者$ brew install openssl@1.1在 Windows 上使用安装mingw-w64安装pkg-config-lite为 mingw32-w64 构建(或安装预编译的)openssl将PKG_CONFIG_PATH设置为包含 ...

    ubuntu下mingw32交叉编译环境搭建

    apt-get install mingw32 dpkg-dev pkg-config wget libglib2.0-dev unzip libtool automake autoconf m4 gettext cvs flex bison wine git-core subversion patch ``` #### 四、安装 64 位支持库 如果在 64 位的...

    mingw 编译 qemu-1.0 套件

    mingw 下编译qemu-1.0 需要的工具套件,包含glib_2.28.8-1_win32.zip和pkg-config_0.26-1_win32.zip

    mingw-w64-install.zip

    6. 安装完成后,配置环境变量,将 MingW-W64 的 bin 目录添加到系统的 PATH 变量中,以便在命令行中直接调用相关工具。 **使用 MingW-W64 开发:** 1. 打开命令提示符或 PowerShell。 2. 使用 `gcc --version` 或 `...

Global site tag (gtag.js) - Google Analytics