网址: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:
2)下载MinGW对应系统的包:
说明: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如下图所示: