已有gui.m文件和gui.fig文件
1在matlab的command窗口中输入mcc-BsglGUI.m2.将上步生成的文件包括*.m文件和*.fig文件一起考到待运
行的机器
此时仍需matlab所必需的动态连接库。
3.将/extern/lib/win32/mglinstallar.exel
拷贝到到待运行机器上
4.在机器上先运行mglinstallar.exe,然后选择解压目录,
将在指定目录下解压缩出bin和toolbox两子目录,其中在
bin\win32目录下就是数学库和图形库脱离MATLAB运行所需的所有动态连接库,共有37个。可以将这些.dll考入system32,也可以直接放在应用程序目录下。而toolbox目录则必须与应用程序同一目录。
5.大功告成。
matlab生成独立可执行的程序
一、生成独立可执行的程序(exe文件)步骤
1、安装编译器。可有多种选择,本机安装的是microsoftvisualc++6.0;
2、设置编译器。在matlab命令行输入mbuild-setup,选择安装的c编译器;
3、调用编译器。输入mcc-mfilaname,filaname为要转成exe的m文件;
在以前的版本中,用编译命令mcc-Bsglcppfilaname;自2006的版本后,
替换为mcc-mfilaname
4、安装MATLAB7\toolbox\compiler\deploy\win32目录下的MCRInstaller。
二、脱离matlab运行可执行程序
MCR是由matlab的运行环境,占用不到400M的对于用不同matlab版本生成的exe文件,MCR版本也会有不同,因此,在程序打包时,最好将相应版本的MCR一起打包。MCR环境的设置文件存放目录如下:
\MATLAB\R2007a\toolbox\compiler\deploy\win
文件名为MCRInstaller.exe。可将其拷贝到自己的文件夹中。在其它机器上运行exe文件前,首先安装matlab的运行环境。在同一机器上可以并存不同版本的matlab环境。Note:将MCRInstaller.exe拷贝到你文件所在文件夹里,用打包程序来打包,生成安装文件,设定在解包过程中自动执行MCRInstaller.exe,同时将可执行文件的图标放在桌面。
import javax.swing.*import javax.swing.text.*
import java.awt.*
import java.awt.event.*
/**
* @author Hardneedl
*/
final class ButtonDemo extends JFrame {
public String getTitle() {return "ButtonDemo"}
static private final Dimension size = new Dimension(600,400)
public Dimension getPreferredSize() {return size}
public Dimension getMaximumSize() {return size}
public Dimension getMinimumSize() {return size}
public Dimension getSize(){return size}
private class ButtonAction extends AbstractAction{
private JTextComponent t
private String n
private ButtonAction(String name,JTextComponent t) {
super(name)
n=name
this.t=t
}
public void actionPerformed(ActionEvent e) {
t.setText(n)
}
}
private JButton b0,b1
private JTextField t
ButtonDemo() throws HeadlessException {
init()
attachListeners()
doLay()
}
private void init(){
t=new JTextField(20)
b0=new JButton(new ButtonAction("YES",t))
b1=new JButton(new ButtonAction("NO",t))
}
private void attachListeners(){
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
}
private void doLay(){
Container container = getContentPane()
JPanel p = new JPanel()
p.add(b0)
p.add(b1)
container.add(p,BorderLayout.NORTH)
container.add(t,BorderLayout.SOUTH)
pack()
setVisible(true)
}
public static void main(String...args) {
System.setProperty("swing.defaultlaf","com.sun.java.swing.plaf.windows.WindowsLookAndFeel")
SwingUtilities.invokeLater(
new Runnable(){
public void run() {
new ButtonDemo()
}
}
)
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)