设为首页 加入收藏

TOP

pkg-config for mingw 安装及配置
2014-11-23 21:26:32 来源: 作者: 【 】 浏览:18
Tags:pkg-config for mingw 安装 配置

pkg-config for mingw 安装及配置--schroedinger库在mingw+msys上的编译过程


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


一. 背景


在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.


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇MinGW编译FFmpeg+x265过程笔记 下一篇Node.js非阻塞IO和事件循环学习总..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: