window10+matlab15+vs15环境下对vlfeat进行重新编译

为什么要编译

官网有提供编译好的二进制文件(VLFeat 0.9.20),理论上不需要我们再进行编译,但是坑爹的是,自己的电脑上完全不能用! 用vs2015编译时有各种坑(╯‵□′)╯︵┻━┻

那么我们开始编译吧

为了能用上VLfeat,那么只能放弃编译好的二进制文件,然后自行编译了。那么我们开始吧

1. 下载源码

此处下载需要注意的是未编译的文件,即没有bin目录的文件!(否则vl.dll可能会冲突)

2. 修改主要文件

(1) Makefile.mak

 

 

Ver  vlfeat版本号

Arch 电脑系统

Debug 开启

msvsver vs的版本号

Msveroot vs路径\vv

Winsdkroot  sdk 路径

 

如果出现dont know how to make msvcr140.dll(编译未出现,不需要修改)

文件中所有出现msvcr的地方改成msvcp(注意,只改小写的地方)

 

(2) 修改vl/host.h文件

1. 关于”snprintf”的错误

这里提到了这个错误,大概就是snprintf重定义了,大家去修改host.h文件的内容。 
注意的是,源码如果从github上下载的,应该不会出现这个错误(如果出现,修改host.h文件中的315335)

(3) 修改make/nmake_helper.mak

 

 

其中!ELSEIF "$(_NMAKE_VER)" == "14.00.24210.0"14.00.24210.0参数如果文件中没有就自行填写,在命令行执行 nmake -version 即可获得

 

VL_MSVC = 14.0

VL_MSVS = 140

VL_MSC = 1900

根据自己vs参数配置

 

3. 利用nmake进行编译

 

此处一定需要注意有时候自定义的环境可能会出错,所以最好使用vs自带的命令行

 

这里很关键需要谨记(否则可能出现下面问题第三条)

 

运行nmake /f Makefile.mak

如果顺利会直接编译成功

 

 

  Windowsnmake其他错误对应原因参考:

  1.NMAKE:fatal error U1077.“cl.exe” return code 0xc0000135

       产生原因:在安装visual studio的时候没有勾选注册环境变量导致的。

       解决办法:在系统环境变量中加入visual studio的安装路径:vs安装路径\VC\Bin,以及vs安装路径\Common7\IDE

       2.NMAKE:fatal error U1077. return code 0x2

       产生原因:找不到代码文件中包含的头文件

       解决办法:cmd下进入到vs安装路径\VC\Bin下,执行vcvars32,此时会执行vcvas32.bat自动为vs设置环境变量

3 .NMAKE:fatal error U1077. return code 0x460

       产生原因:你的工程中连接了一个lib文件,链接的时候却出现不能解析的外部符号。可能问题是你包含的lib是错的,或者有不兼容问题。我的问题就是后者,我的系统的32位的,但是链接了一个64位的lib.

       解决办法:使用以vs自带命令提示符

4. NMAKE:fatal error U1077: echo:返回代码”0x1

看着终于可以编译了,好开心,但是最后居然出现了这个错误!搞什么搞什么!在google一番之后,送了口气,原来这个错误并不影响编译。

5.可能出现未找到一下2个文件(文件在附录中)

 

  把这两个文件放到这个路径下:C:\Program Files\MATLAB\R2015b\bin\win64\mexopts

具体参考自己Matlab 的安装路径。

4. matlab中运行vlfeat-0.9.20\toolbox\vl_compile.m 文件

run C:\var\vlfeat-0.9.20\toolbox\vl_compile.m

 

 

 

 

完成编译,恭喜,完美搞定

 

 

 

 

总结

为了安装vlfeat,花费了一天多时间。对于这次问题的解决需要注意:

1. 遇到问题一定要控制变量,把问题一个一个的排除。慢慢的主要问题会越来越明朗之后逐个击破。

2. 一定要注意兼容问题,在安装vs,matlab这类程序一定要去官网查看相关的配套需求
最后,感谢各位博主提供的安装教程

http://blog.csdn.net/weiwei9363/article/details/65434976

http://blog.csdn.net/sean4m/article/details/60143222

 

 

附录

http://download.csdn.net/download/linuxnimei/10224564

1. Makefile.mak

2. Vl/Host.h

3. make/nmake_helper.mak

4. Msvc文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ilruntimedebugger_vs15_17_19 是一个软件或工具的名称,它指的是用于调试和分析程序运行时错误的 Visual Studio 的插件或组件。 Visual Studio 是一款功能强大的集成开发环境(IDE),被广泛应用于软件开发和调试过程中。ilruntimedebugger_vs15_17_19 是为 Visual Studio 15、Visual Studio 17 和 Visual Studio 19 版本开发的运行时调试器。 运行时调试器是软件开发过程中常用的工具之一,它可以在程序运行时监视变量的值、查看堆栈跟踪、观察代码执行过程、找出程序中的错误等。ilruntimedebugger_vs15_17_19 提供了与运行时调试器相关的功能和界面,使开发人员能够更加方便地调试和分析他们的程序。 ilruntimedebugger_vs15_17_19 可能会在以下场景中发挥作用: 1. 在开发过程中,当程序运行出现异常或错误时,ilruntimedebugger_vs15_17_19 可以帮助开发人员定位问题,并提供相关的调试信息,帮助快速修复错误。 2. ilruntimedebugger_vs15_17_19 还可以用于性能分析,它可以帮助开发人员找出程序中的性能瓶颈和优化点,提升程序的执行效率。 3. 对于在 Visual Studio 15、Visual Studio 17 和 Visual Studio 19 上开发的项目,使用 ilruntimedebugger_vs15_17_19 可以保持代码一致性,同时在不同版本的 Visual Studio 上进行调试和分析。 总之,ilruntimedebugger_vs15_17_19 是 Visual Studio 的一个插件或组件,提供了运行时调试和分析程序错误的功能,帮助开发人员更加高效地开发和调试他们的程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值