歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> pkg-config for mingw 安裝及配置

pkg-config for mingw 安裝及配置

日期:2017/3/1 9:39:55   编辑:Linux編程

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.

Linux下編譯FFmpeg之下載源文件並編譯 http://www.linuxidc.com/Linux/2012-02/54565.htm

Linux 編譯升級 FFmpeg 步驟 http://www.linuxidc.com/Linux/2013-08/88190.htm

CentOS 5.6 上安裝 FFMPEG http://www.linuxidc.com/Linux/2011-09/42793.htm

在Ubuntu下安裝FFmpeg http://www.linuxidc.com/Linux/2012-12/75408.htm

Linux下開發Windows平台運行的程序 - MinGW http://www.linuxidc.com/Linux/2013-06/85217.htm

Copyright © Linux教程網 All Rights Reserved