windows7下 VS2015 編譯VLFeat所遇到的問題

NO IMAGE

       最近由於做一些三維重建的例子,因此得知了VLFeat。VLFeat是一個跨平臺的開源機器視覺庫,它囊括了當前流行的機器視覺演算法,如SIFT, MSER, HOG, 同時還包含了諸如K-MEANS, Hierarchical K-means的聚類演算法。VLFeat的官方主頁:http://www.vlfeat.org/index.html。為了印象深刻,我選擇了在官網下載最新的原始碼進行編譯,最新版本為:0.9.20.

1、首先修改Makefile.mak檔案

根據自己下載時的安裝路徑,將ARCH(多少位的系統),MSVSVER(VS版本號),MSVCROOT,WINSDKROOT設定正確。

2、開啟VS2015 x64本機工具命令提示符,在命令列輸入:nmake version,得到:

再修改nmake_helper.mak:

這對應所裝的是本機的版本號。

3、開啟VS2015 x64本機工具命令提示符,利用nmake進行編譯

      定位到/vlfeat-0.9.20目錄下,執行nmake /f Makefile.mak,順利的話,到此就等著編譯成功。

        但是我在編譯時首先遇到:

       1、不知道如何去生成D:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\redist\x64\Microsoft.VC140.CRT\msvcr140.dll,後來定位才發現檔案中根本沒有msvcr140.dll這個動態檔案庫,只有msvcp140.dll,因此把Makefile.mak檔案中的msvcr換成了msvcp,注意的是,只要改小寫的地方,大寫的不用改。

      2、後來又遇到snprintf的錯誤,後來在百度上查了很久,找到了解決方法,點選開啟連結,即將host.h檔案的第315和335行註釋掉。

      3、最後一個問題如下圖所示:最後發現雖然這裡提示錯誤,但是並不影響最終生成。

在這裡感謝以下前人的經驗:

http://blog.csdn.net/u011718701/article/details/51452011

http://www.open-open.com/lib/view/open1454674074370.html