找回密码
 注册
Simdroid-非首页
楼主: taohe

【原创】程序中使用MATLAB编译产生的DLL (VS2005, MATLAB7.5, mwArray)

[复制链接]
发表于 2011-2-23 12:33:46 | 显示全部楼层 来自 陕西西安
我的matlab编译后ctf文件一闪而过,就没了,搞不懂
回复 不支持

使用道具 举报

发表于 2011-3-25 09:16:54 | 显示全部楼层 来自 山东济南
Simdroid开发平台
用vc6.0和matlabR2008,编译出来没有libmyadd2.ctf
应该如何处理呢
回复 不支持

使用道具 举报

发表于 2011-3-25 20:39:42 | 显示全部楼层 来自 陕西西安
为什么有的时候matlab无法调用dll文件和mexw32文件呢?
回复 不支持

使用道具 举报

 楼主| 发表于 2011-3-27 10:43:48 | 显示全部楼层 来自 新加坡
感谢bainhome在143楼的关于新版MATLAB以及Visual Studio的更新说明。如果论坛功能容许的话,建议把该贴插入本贴的第一页。或者并入第一楼,以方便大家阅读。

To nuaaer:关于你的第二个问题,那是正常的。使用新版的matlab,对于简单的m函数,编译后不再产生ctf文件。你的第一个问题描述的不是很清楚,所以无法作答。

To zhengxing2000:能否给个例子?一个可能的原因就是那个dll或者那个mexw32文件有其他的依赖条件(比如需要另外的库函数的支持)等。
回复 不支持

使用道具 举报

发表于 2011-4-24 16:21:51 | 显示全部楼层 来自 安徽合肥
楼主写的非常好,不知道楼主能否用vb.net调用matlab做个例子?
回复 不支持

使用道具 举报

发表于 2011-5-10 20:40:17 | 显示全部楼层 来自 陕西西安
够强大 学习了 谢谢分享
回复 不支持

使用道具 举报

发表于 2011-10-24 16:14:55 | 显示全部楼层 来自 安徽蚌埠
好贴学习了,正好最近需要用到混编,试试去
回复 不支持

使用道具 举报

发表于 2011-11-27 20:10:45 | 显示全部楼层 来自 重庆
也可以用deploytool
DEPLOYTOOL Deployment product user interface

     This function will start the Deployment Tool. You can create,
     build and package various deployment projects using the Graphical
     User Interface (GUI), or you can build and package existing
     projects from the Command Line Interface.

     USAGE:
     deploytool will bring up an empty tool with information on how to
     open an existing project or create a new project.

     deploytool projectname will open an existing project. If the project
     does not exist, an error will be generated and the program will exit.

     deploytool -build projectname will build an existing project
     from the Command Line Interface.
  
     deploytool -package projectname packagename will package
     an existing project from the Command Line Interface. Specifying
     packagename is optional. By default, a project is packaged into a
     zip file. On Windows, if the packagename ends with .exe, the
     project will be packaged into a self-extracting EXE.

     DEPLOYTOOL -? will display this message.

     See also mcc, mbuild

    Reference page in Help browser
       doc compiler/deploytool
回复 不支持

使用道具 举报

发表于 2012-3-14 21:20:30 | 显示全部楼层 来自 山东
感谢楼主~~  
最近遇到了新的问题:
背景:利用matlabR2010b的mcc将.m文件(自己写的)编译为dll,然后在vc6.0中调用
问题:假如用来编译dll的.m文件中用到类似conv(),filter()的数学库或工具箱函数,则dll无法调用;
           去掉这些函数,则成功运行~
回复 不支持

使用道具 举报

发表于 2012-5-6 00:04:51 | 显示全部楼层 来自 北京
我照着楼主的例子走了一遍,在调试的时候,首先提示:e:\visual studio 2010\projects\libtest\matlabdll2\matlabdll2\matlabdll2.cpp(1): fatal error C1083: 无法打开包括文件:“stdafx.h”: No such file or directory

其次:我想请问一下 int _tmain(int argc,_TCHAR* argv[])这个函数是什么意思呢?_tmain是随便起的还是代表什么?而且老提示_TCHAR*是未定义字符

我用的是matlab2011b和VC2010

是不是版本问题呢?哪位大神能提供一个最近版本的例子呢?
回复 不支持

使用道具 举报

 楼主| 发表于 2012-5-6 15:09:48 | 显示全部楼层 来自 英国
秦某某 发表于 2012-5-6 00:04
我照着楼主的例子走了一遍,在调试的时候,首先提示:e:\visual studio 2010\projects\libtest\matlabdll2\ ...

你在VS2010里创建的是那种类型的工程?你不妨试试看创建一个Win32 Console “HelloWorld”,然后先编译运行确保没有错误,然后再用这个帖子中的的代码替换相应的代码。

_tmain是Win32 console程序的入口函数(主函数),就是普通的C语言教程里常看见的main()。

你给出的第一个关于stdafx.h的错误,有可能是你常见的工程是个空的,你后来也没有提供一个stdafx.h,这个文件是VS2010在编译C/C++程序时缺省使用的"pre-compiled header“,你可以修改工程的设置,在VS2010中鼠标右键点击工程,选择Properties,然后在Configuration Properties-->C/C++-->Precompiled Headers,在右边出现的第一个设置里选择“Not Using Precompiled Headers”。

这样应该就没有那个编译错误了,但是这样换不能解决所有的错误,你还需要include一些头文件,比如那个_TCHAR未定义的错误,就说明你需要include <TCHAR.h>。

题外话:VS2010的确改变了一些实用习惯,可能需要一段时间的学习,但毫无疑问这些变化是值得的。
回复 不支持

使用道具 举报

发表于 2012-6-12 18:02:18 | 显示全部楼层 来自 甘肃兰州
谢谢版主分享
回复 不支持

使用道具 举报

发表于 2012-6-13 18:55:56 | 显示全部楼层 来自 黑龙江哈尔滨
请问我程序Releasewin32能够生成项目,但是“调试”->"启动调试"会弹出如下窗口“无法启动此程序,因为计算机中丢失mclmcrrt7_15.dll”.尝试重新安装改程序解决次问题。
不知何解?
回复 不支持

使用道具 举报

发表于 2012-6-13 19:56:16 | 显示全部楼层 来自 黑龙江哈尔滨
birdcc 发表于 2012-6-13 18:55
请问我程序Releasewin32能够生成项目,但是“调试”->"启动调试"会弹出如下窗口“无法启动此程序,因为计算 ...

我跑的那个程序是在matlab2011a条件下编译的,在D:\Program Files\MATLAB\R2011b\runtime\win32目录下存在mclmcrrt7_15.dll ;而我的电脑里面装的是matlab2011b的版本,在相同目录下存在的是mclmcrrt7_16.dll
···但是不知道这个问题该如何解决
回复 不支持

使用道具 举报

发表于 2012-11-2 10:35:15 | 显示全部楼层 来自 甘肃
学习啦,谢谢楼主无私分享

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2013-1-27 14:09:21 | 显示全部楼层 来自 甘肃兰州
谢谢版主无私分享

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2013-2-22 21:11:57 | 显示全部楼层 来自 甘肃
学习了,谢谢各位高手

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2013-5-16 13:44:47 | 显示全部楼层 来自 北京
谢谢楼主,以后多分享些这类的知识。我是刚刚学习的小菜鸟,以后希望可以看到很多这类的分享。:hug:
回复 不支持

使用道具 举报

发表于 2013-6-2 16:30:30 | 显示全部楼层 来自 甘肃兰州
运行成功,谢谢版主

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复 不支持

使用道具 举报

发表于 2014-3-31 15:15:32 | 显示全部楼层 来自 四川成都
必须赞一个
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-25 08:12 , Processed in 0.043267 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表