博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

[续] Matlab 32位 64位

Posted on 2010-12-30 16:15  编著人  阅读(6348)  评论(0编辑  收藏  举报

http://www.ilovematlab.cn/thread-23500-1-1.html

matlab 64位机编程问题

目的:使用matlab读取数据库中的数据,并绘制成图像。并将M文件编译dll共其他软件使用。

平台:windows server 2003 64位+oracle10g database
尝试1、matlab2007b(64bit)+vs2005
              可以正常访问数据库,图形正常绘制。但是无法编译成dll,问题在于MATLAB找不到vs2005 编译器。
尝试2、matlab2007b(32bit)+vs6.0,
             可以正常编译M文件,也能生成dll,但是M文件不能执行,问题在于,32位的matlab 在64位机上无法访问数据库,
             无论是jdbc还 是odbc均不成功。提示找不到制定的数据源和驱动程序。同时vb6.0的数据link也找不到ODBC数据原。
             貌似是32问的matlab无法访问64位的数据库
尝试3、matlab2008b(64bit)+VS2005+VS2008+VS6.0
            结果同2.
尝试4、另一台32bit计算机,安装尝试2中的配置,通过ODBC连接上面的oracle数据库中,一切正常,M文件可以执行,编译dll也
            可以正常调用

但是我需要在那个64位的计算机中实现这样的功能,请教各位大侠如何才能解决。为什么matlab找不到编译器呢,难道是操作系统的问题吗?
 
解决方法:
尝试1:解决方法VS2005活2008需要安装64位编译器,这个东东在默认安装是不安装的,需要手动安装
尝试2:对于32bit的matlab database工具只能访问odbc中的系统DNS,用户DNS是看不到的,另外使用OLE db FOR ORACLE 是没有这个问题的
 
实践1:Win 7 (64 bit) + Matlab 2011a (64 bit) + VS 2010
可以关联Matlab和VS
能用mex生成.mexw64文件(只能在Matlab 64bit运行),不能生成.mexw32文件;
能用mcc生成.exe文件(只能在Win 64bit环境中运行);
能用mcc生成.dll文件,可能是我配置的原因未能在VS 2010中运行成功。
 
实践2:Win 7 (32 bit) + Matlab 2011a (32 bit) + VC 6.0
mex失败