关于MATLAB2016a与VS2013混编的函数无法解析的问题

版权声明: https://blog.csdn.net/wubaobao1993/article/details/78158855

作者最近因为论文需要,需要对一些算法进行实现,其中涉及到了二次规划的求解,各种了解之后发现自己编程实现还是很有难度的,因此就打算用matlab生成dll,之后调用该接口进行问题的求解,遂在网上找matlab和VS混编的教程,私以为下面的教程还是不错的

http://blog.csdn.net/jiabingxi/article/details/17633063
http://blog.csdn.net/u013920434/article/details/52077788

第一个链接是以VS2008和matlab的混编为例的,还是很有代表性的;第二个连接是以VS2013和matlab2016a的混编为例的,因为现在VS都是2010以上版本了,所以这个讲的还是很有参考价值的,其中matlab2016a的lib编译也十分简单、实用,不用再进行什么命令行编写了。

在进行dll编写的过程中当然出现了很多问题,比较头疼的就是下面两个问题:
1:环境是matlab2010b和VS2013,使用第一个链接教程,无奈到了最后的命令行编译的时候,最后出现各种找不到头文件的问题(比如can’t find “windows.h”),遂放弃。总结起来主要是因为matlab版本低,虽然你可以选择VS2008的编译器,但是因为电脑里面没有安装VS2008,因此很多东西都是缺少的,所以提示缺少各种东西。
2:环境是matlab2016b和VS2013,使用第二个教程,一切都是顺顺利利,顺利的配置好了matlab,顺利的编译出了教程中的三个文件夹以及里面的内容,以为终于要脱离“苦海”了,结果到了VS2013下,各种函数无法解析(主要的问题就是有声明,但是没有具体的实现),各种百度也没有找到合适的解决方案,后来还是在bing上找到了一个解决方案(希望可以帮助遇到相同问题的大家),最主要的一点就是我们加入在项目中添加的matlab库是win64的,而VS系列在不选择的情况下默认的都是win32进行项目的编译和调试,这时候就不认识win64的东西,解决方法就是“工程的属性页->配置管理器(窗口的右上角)->平台->新建->新建平台->x64”;

猜你喜欢

转载自blog.csdn.net/wubaobao1993/article/details/78158855