首页 > 代码库 > WIndows下编译libexif-0.6.21,生成VS下可用的dll和lib

WIndows下编译libexif-0.6.21,生成VS下可用的dll和lib

1.下载libexif-0.6.21.zip

下载地址是http://sourceforge.net/projects/libexif/files/libexif/0.6.21/


2.解压libexif-0.6.21.zip

我解压到了d:\opensources\下


3.安装Mingw
下载地址是http://www.mingw.org/ 点击右上角的Download Installer
记得安装Msys
我的安装路径是:C:\MinGW
下面依次有如下文件夹:
bin
include
lib
libexec
mingw32
msys
share

var


4.在C:\MinGW\msys\1.0下找到msys.bat,并在文件开始添加一行:

call "C:\Program Files\Microsoft Visual Studio 10.0\VC\bin\vcvars32.bat"


5.在C:\MinGW\msys\1.0\etc下查找fstab文件,如果没有就拷贝fstab.sample到fstab
确认其内容为
#Win32_Path Mount_Point
c:/mingw /mingw

这是我的安装目录,请自觉改成你的。


6.在C:\MinGW\msys\1.0下找到msys.bat,双击运行
然后切换到你的libexif-0.6.21的路径下
比如我解压到了d:\opensources\
所以我的命令是:
cd /d/opensources/libexif-0.6.21/
然后依次执行命令
./configure --host=i586-mingw32msvc --disable-nls --enable-ship-binaries


make


make install
如果不出错的话在C:\MinGW\msys\1.0\local路径下就会多出三个文件夹bin(包含libexif-12.dll)、lib(不关心)、include(头文件)
在D:\opensources\libexif-0.6.21\libexif\.libs下面会出现libexif.def(貌似不可用,打开发现开头少了一行“EXPORTS”,加上之后可以使用) 和 libexif-12.dll.def文件
这样我们就拥有了include、.dll和.def文件
还缺少一个lib文件


7.我们可以通过VS命令行利用.def生成.lib
VS命令行打开方式,打开VS->TOOLS->Visual Studio Command Prompt
切换到含有.def的目录下
执行命令:
lib /def:libexif-12.dll.def /out:libexif.lib
这样我们就有了VC下可以使用的libexif完整的库
我写了个测试程序:但是报错找不到libexif-12.dll.dll
这个时候只有把.dll文件改为对应文件名就可以了。


如有疑问请直接评论即可