VC中使用Matlab Engine出现"无法找到libeng.dll"的问题
本以为使这个原因
,其实不是我2了
#include "engine.h"
//终于知道为什吗老是找不到那个库文件--是因为添加的头文件是以引号括起来的啊
//#include <engine.h>
不是因为环境变量没有生效的缘故
其实目前来说应该是这个问题no compile tool is associated with the file extension? 因为编译器窗口打开的是一个h文件,编译器无法编译,必须当前打开的是一个cpp文件,才能进行编译,然后link就不会出现找不到库文件的错误了
2010-08-31 12:24
我用的是Visual Studio 2008和Matlab R2009a,再次出现这个问题: 编译通过了,但是运行时后发现弹出:"无法找到libeng.dll",经过查找libeng.dll在D:\Program Files\MATLAB\R2009a\bin\win32\下,将D:\Program Files\MATLAB\R2009a\bin\win32\加入系统的Path路径中,还是不行,后来考虑到修改Path需要重启才可以,重启以后果然可以了。 修改系统path需要重启真是很麻烦,但是一直没有找到好的办法,网上的方法: 很多安装程序在安装完成后并不要求重启Windows,而新的环境变量已经生效了,可见在不重启Windows的情况下让环境变量生效是完全可行的。 可我搜索如何不需重启Windows让环境变量生效的方法,只找到三类方案:
我既然是个懒得重启Windows的人,难道我会不厌其烦按上述三种方法去做吗?没办法,我只有自己摸索。最后找到一个非常简单的在Windows下直接让环境变量生效的办法: 先到我的电脑>属性>高级>环境变量,添加新环境变量或修改已有的环境变量,然后运行“DOS命令提示符”或run cmd,假设要修改PATH变量,不管PATH的原值是什么,在DOS窗口直接把PATH修改为任意值,关闭DOS窗口,这时,我的电脑>属 性>高级>环境变量里PATH已经在Windows全局生效了。 不用担心在DOS窗口的修改会影响我的电脑>属性>高级>环境变量里的修改,DOS窗口的环境变量只是Windows环境变量的一个副本,副本的改动不会影响正本,但会触发正本的刷新,这正是我想要的——让环境变量生效。 附注: 不懂在DOS下修改环境变量?简单得很,如要修改PATH,“SET PATH=C:\”,等号两边不要有空格。PATH环境变量最常用,专门有个DOS命令PATH,用来查看和修改PATH值,这里就不展开讲PATH的语法了。 想验证一下环境变量到底有没有生效?简单得很,新开一个DOS窗口,如要看PATH值,“ECHO %PATH%”。同上,PATH还可以用PATH命令来查看。 " |
.net是微软的发展方向,以后我们开发软件的时候不免会调用一些matlab语言 今晚一直在***图用c#调用matlab,终于成功。 主要思想就是首先把matlab的m函数做成com组件,然后在c#中应用此com组件,即可。 主要步骤如下: 2.在matlab中输入comtool命令,就打开了matlab com builder, 点击file-new project,新建一个工程, 在component name里输入名字 点击ok就行了。 然后点击project–Add files,将test.m添加入工程, 然后点Build-Com Object,就会在comtest\distrib\文件夹下生成一个test1_0.dll(它就 Build时matlab已经自动将此dll在注册表中注册 我们还需做一个准备工作,进入<matlabroot>/ bin/win32目录下(matlabroot为你机器上 3.c#下实现调用 新建一个c#项目(我采用的是vs.net2003),选中右边的解决方案资源管理器中的引用 然后编写程序 test.testclassClass st=new test.testclassClass(); 然后在c#中就出现了我们所想得到的图形,呵呵 |