网址:http://www.cnblogs.com/darkknightzh/p/4867372.html。未经允许,严禁转载。

没怎么用过linux,对于MSYS和MinGW也基本没用过,因而编译Rel_4.1.0库的时候,遇到了不少问题。特此整理能成功的步骤。

按照Rel_4.1.0/INSTALL_WINDOWS.txt的说明:

1.安装MSYS and MinGW

1)下载MSYS和MinGW-get:

- MSYS: http://sourceforge.net/projects/mingw-w64/files/External%20binary%20packages%20%28Win64%20hosted%29/MSYS%20%2832-bit%29/MSYS-20111123.zip/download

- MinGW-get: http://sourceforge.net/projects/mingw/files/Installer/mingw-get/mingw-get-0.5-beta-20120426-1/mingw-get-0.5-mingw32-beta-20120426-1-bin.zip/download

2)下载MinGW对应系统的包:

- MinGW (32-bit): http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/megasoft78/basic/mingw-w64-bin_i686-mingw_4.5.2_20110223_megasoft78.7z/download

- MinGW (64-bit): http://sourceforge.net/projects/mingw-w64/files/Multilib%20Toolchains%28Targetting%20Win32%20and%20Win64%29/megasoft78/mingw-w64-bin_x86_64-mingw_4.5.2_20110222_multilib_megasoft78.7z/download

说明:64位的MinGW能编译32位和64位的NBIS二进制文件。

3)将2)中的MinGW安装包解压到”C:\mingw64\” 或者 “C:\mingw32\”

4)将1)中的MSYS安装包解压到”C:\msys\”

5)将1)中的MinGW-get包解压到3)中的MinGW文件夹(”C:\mingw64\”或”C:\mingw32\”)

6)双击4)中文件夹里面的msys.bat,并运行如下命令:

/postinstall /pi.sh

对于提示的问题,键入‘y’,同时提供3)的路径。

7)运行如下命令,最终配置MSYS和MinGW:

mingw-get install mingw32-autotools

说明:此处需要fq。开始运行好多次,都提示失败。最终fq后能成功…哎

2. 编译Rel_4.1.0

1)如上,安装好MSYS和MinGW环境

2)运行如下命令,设置MSYS和MinGW的编译环境:

./setup.sh <TARGET INSTALLATION DIR> --MSYS [--STDLIBS] [-- | --]

说明:<TARGET INSTALLATION DIR>必须为绝对路径,且必须真实存在,否则会提示无此文件夹。例如:

./setup.sh C:/SRC/NBIS/Main --MSYS --

注:由于对linux不熟,自己这步怎么也不成功。开始提示:

gcc.exe: am_big_endian.c: No such file or directory

gcc.exe: no input files /bin/setup.sh:

line : ./am_big_endian: No such file or directory

Failed Setup - Cannot determine target machine endianness!

实际上,Rel_4.1.0文件夹里面有am_big_endian.c。即便运行

/Rel_4.1.0/setup.sh C:/msys/Rel410 --MSYS --

依旧提示上面的错误。

之后将Rel_4.1.0里面所有文件拷贝到C:/SRC/NBIS/Main文件夹内,运行下面的 (b) 和 (c) 能成功,但是步骤3)死活不成功,提示找不到文件。

后来,换了一种方式:

(a) 将Rel_4.1.0拷到”C:\msys\”文件夹下(此处不知道linux对Rel_4.1.0这种文件夹如何识别,因而改成了Rel410)

(b) 运行

cd Rel410/

(c) 运行

./setup.sh C:/msys/Rel410 --MSYS --

之后这步成功。

3)(依旧在Rel410/文件夹内)运行:

make config

之后,运行

make it

4)运行

make install

5)运行

make catalog

之后编译成功。

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

在C:\msys\Rel410\mindtct\bin文件夹下会有mindtct.exe文件,可生成指纹的特征点吧(具体不太清楚这些文件都有什么用处)。将该文件拷贝到C盘根目录,打开cmd,输入mindtct.exe,会有如下提示:

输入mindtct.exe img1gray.jpg img1.xyz,如下:

可以生成一系列的文件(红框中所示):

注意,img1gray.jpg需要是8bit的图像,不能是24bit的,否则会提示:

img1gray.jpg如下图所示:

(原)Windows下编译指纹识别的Rel_4.1.0库的更多相关文章

  1. (转)windows下编译最新的x264

    二:<windows下编译最新的x264> X264更新的比较快,每天都有更新,但算法模块,基本结构是没有多大变化的.x264都是用C语言写的包括C99,但C99语法是在VC中是没法用的( ...

  2. [转] Windows下编译OpenSSL

    简述 OpenSSL是一个开源的第三方库,它实现了SSL(Secure SocketLayer)和TLS(Transport Layer Security)协议,被广泛企业应用所采用.对于一般的开发人 ...

  3. Windows下编译objective-C

    Windows下编译objective-C 2011-08-31 14:32 630人阅读 评论(0) 收藏 举报 windowscocoa工具objective clibraryxcode   目录 ...

  4. 在Windows下编译FFmpeg详细说明

    MinGW:一个可自由使用和自由发布的Windows特定头文件和使用GNC工具集导入库的集合,允许你生成本地的Windows程序而不需要第三方C运行时 MinGW,即 Minimalist GNU F ...

  5. 如何在WINDOWS下编译BOOST C++库 .

    如何在WINDOWS下编译BOOST C++库 cheungmine 2008-6-25   写出来,怕自己以后忘记了,也为初学者参考.使用VC8.0和boost1.35.0.   1)下载boost ...

  6. 在Windows下编译OpenSSL(VS2005和VC6)

    需要说明的是请一定安装openssl-0.9.8a .  openssl-1.0.0我没有编译成功. 如何在Windows下编译OpenSSL (Vs2005使用Vc8的cl编译器)1.安装Activ ...

  7. windows下编译java源文件的编码错误

    import java.util.Arrays;public class ArrayAsAReference{ public static void main(String[] args) { int ...

  8. Windows下编译SDL

    Windows下编译SDL的理由我就不多说了,无论用VS来编译或调试SDL库都是很方便的.而且SDL源代码中也包含了VC工程,你所要做的只是解压VC工程,进行适当的配置,然后编译.调试. 编译SDL大 ...

  9. Windows下编译安装 FFmpeg

    在Linux/Mac下编译 ffmpeg是非常方便的.但要在 Windows下编译 ffmpeg还真要花点时间.以下就是在 Windowns下编译ffmpeg的步骤: 一.安装Cygwin 在wind ...

随机推荐

  1. 关于C函数的参数个数的问题

    本文引自:http://c.biancheng.net/cpp/html/1592.html 一个函数的参数的数目没有明确的限制,但是参数过多(例如超过8个)显然是一种不可取的编程风格.参数的数目直接 ...

  2. JSONP有什么作用

    1.解决跨域访问数据                 由于同源策略的限制,XmlHttpRequest只允许请求当前源(域名.协议.端口)的资源,为了实现跨域请求,可以通过script标签实现跨域请求 ...

  3. mysql函数date_format统计刷选按年月日统计的数据

    /*原型*/ SELECT count(did) AS sum, date_format(releasetime, '%Y-%m-%d') AS releasetime FROM hengtu_dem ...

  4. 鼠标悬停移除更换class

    $("#xinl").mouseover(function()  //鼠标悬停执行函数 { $(".xl").removeClass().addClass(&q ...

  5. Python一路走来 面向对象1

    面向对象: 类,对象 函数放在类里,叫方法 封装 #如何调用 1. 创建对象, 类名() obj= Foo() 2. 通过对象去执行方法 obj.mail("leon@me.com" ...

  6. cf D. Alternating Current

    http://codeforces.com/contest/344/problem/D #include <cstdio> #include <cstring> #includ ...

  7. oracle pipelined返回值函数 针对数据汇总统计 返回结果集方法

    近期需要一个汇总统计,由于数据太多,数据量太大所以在java程序中实现比较困难.若用后台程序统计,数据不能保证实时,同时实现周期比较长.顾使用函数返回结果集的方式,在不增加临时表的情况下实时获取数据. ...

  8. 【转】adb push&pull bug --- Permission denied----不错

    原文网址:http://blog.csdn.net/hengkong_horse/article/details/8708076 问题背景: adb push  E:\\rrr.txt  /data/ ...

  9. Array vs Linked List

    Access: Random / Sequential 1. Array element can be randomly accessed using index 2. Random access f ...

  10. 表单验证插件jquery.validate的使用方法演示

    jQueryValidate表单验证效果 jquery.validate验证错误信息的样式控制 <!--validate验证插件的基础样式--> input.error{border: 1 ...