回 帖 发 新 帖 刷新版面

主题:BCB&Matalb生成的exe如何在未安装BCB和matlab的机器上运行?

我是将matlab里面写成的filename.m文件用matlab自带的命令转化成filename.lib , filename.dll, filename.h文件,然后在BCB里面对这个dll文件进行调用,在安装有BCB和Matlab的机器上可以正常运行,但是,如果没有安装BCB和matlab,那么就会提示 filename初始化失败。一些需要的环境我都已经做了设置,如下:
1.Project--》Options--》Packages
2.Runtime packages下面的Builder with runtime packages前的勾取消
3.转到Linker页
4.Linking下面的Use dynamic RTL前的勾也取消
5.点OK前把OK前面的Default点上

现在并不是提示什么找不到文件的错误,而是初始化错误,估计是缺少某个lib的缘故,但是又不知道缺少哪一个,因为bcb里面设置matlab路径时,包含了bin\win32\的路径,下面有太多的文件了。所以想麻烦一下各位大虾,我该怎么解决,谢谢

回复列表 (共18个回复)

沙发

这很可能是你的dll文件所需的lib的问题,试试看。

板凳

胕mplib.exe将filename.dll转成BCB的filename.lib文件再来调用。
或者你在BCB程序中直接使用DLL动态调用法来调用filename.dll文件!

3 楼

你是怎么是现在BCB中调用Matlab的?能教教我么?
我用的版本是BCB6.0和Matlab6.5。

4 楼

我也在做BCB调用matlab生成dll,但一直都是安装了这两个软件
很想知道如何可以在不安装的情况下运行

5 楼

你这样做的话,编写的程序一但脱离matlab环境是不能够运行的!
但你可以用mathworks公司的matcom4.5 for bcb 软件,这样你就可
以脱离matlab环境用bcb来调用matlab里的一些函数啦!

6 楼

最后需要安装一个MCRInstaller.exe就可以执行了,有不懂的可以问我,navyone@eyou.com

7 楼

是不是缺少vcldb60.bpl

8 楼

我倒觉得有可能是你程序的问题。

9 楼

建议你不引用function.lib而改成引用function.cpp试试,我遇到过类似的,但不一样,不知道对于你的行不行。

10 楼

建议你不引用function.lib而改成引用function.cpp试试,我遇到过类似的,但不一样,不知道对于你的行不行。

这个方法我试过的,直接使用不也不行的,最终必须安装那个MCRInstaller.exe就可以了的。因为假如你用到了一个functionA,这个functionA还会去调用一堆Matlab的东西的。

我来回复

您尚未登录,请登录后再回复。点此登录或注册