IDL程序发布方法总结

一、7.0之前IDL版本的程序发布
1.Windows下根据主程序名建立project,使用Export按钮发布;
发布后的程序若需要简化文件夹的体积,只需bin.x86下包括freetype2_1_3.dll、idl.dll、idl.pref、MesaGL6_2.dll、MesaGLU6_2.dll、osmesa6_2.dll、ug3220.dll及myApp.exe文件,/lib/hook/下包含idlrtmain.sav文件即可运行,当然了如果系统中调用到相关DLM只需拷贝过来即可。

2.Unix下使用make_rt命令;

二、IDL7.0下的程序发布(Windows)

该版本下用MAKE_RT代替了Export功能,暂时有两种发布方法。

1. IDL的HELP文件中描述

1) 收集相关信息:

选择你要运行的程序的名字;myApp
确定发布的完整输出路径存在,否则make_rt会报错;OutDir
知道包含你程序所有代码的sav文件完整路径;savefile

2)运行MAKE_RT过程

MAKE_RT, 'myApp', OutDir, SAVEFILE=savefile

3)添加额外文件到发布的程序中;

如运行系统中没有安装IDL,则需要先安装一个文件来确保其运行。32位系统运行systemdll32_setup.exe,64位系统运行systemdll64_setup.exe,这两个文件的对应目录为IDL_PATH/ bin/make_rt。

4)修改启动脚本-myApp.ini;

myApp.ini 包含的内容
[DIALOG]
Show=False ;对话框界面是否弹出<True和False>
BackColor=&H6B1F29 ;对话框的背景颜色
Caption=<any string> ;对话框的标题文字
Picture=./splash.bmp ;对话框需要显示的图像,标准大小480 x 335,若图像大则大的部分显示背景色;
DefaultAction=<path to application> ;运行时执行的代码;

2.简化发布方法

在工程的右键属性页面中勾选【创建sav文件】和【嵌入license的sav文件】,构建工程建立myApp.sav文件,直接用myApp.sav文件。在系统的ITT/IDL70/bin/make_rt下面拷贝start_app_win.exe和start_app_win.ini文件到myApp.sav所在目录下,修改start_app_win.ini里面的DefaultAction部分为系统虚拟机路径-rt= myApp.sav即可运行,这个方法简单方便,缺点是需要用系统安装的虚拟机。

3.改进的简化发布方法

上面的方法中的缺点就是告诉程序系统安装的虚拟机路径,我们可以把系统的虚拟机及虚拟机调用文件拷贝出来,直接拷贝到myApp.sav的文件目录下面。然后把DefaultAction=修改为./idlrt.exe -rt=myApp.sav即可。这样就解决了系统不安装虚拟机就不能运行的问题。跟简化导出系统相似,最基本的虚拟机文件包括:freetype2_1_3.dll、idl.dll、MesaGL6_2.dll、MesaGLU6_2.dll、osmesa6_2.dll、ug3220.dll、idlrtmain.sav和idlrt.exe,当然了,为了省事可以把这些文件和start_app_win.exe、start_app_win.ini拷贝一份出来作发布的基本模板用


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/trilobiteh/archive/2009/03/27/4029134.aspx

/

/

 

大家都知道IDL程序发布出来或打包是可以直接运行的,区别只是无license虚拟机模式还是有license的runtime模式。

但是如果IDL代码里使用了envi的函数,这时候发布出来的sav文件(或exe、idlrt啥的)就不能直接运行。

运行后就会弹出一个丑陋的envi界面。

解决办法1:

不能运行是因为使用了envi的函数后,需要用envi的方式去运行。(假如的程序叫Protest)

1)先建一个文本文件,命名为protes.run,里面写上程序的名字protest

2)打开idl编辑器把打包程序目录(包含sav文件的目录)修改成Idl工作目录或者是添加到IDL搜索路径

3)建立一个快捷方式。在快捷方式的属性中 目标 加上一下命令

idlde路径 -minimized -noconfirmexit -nosplash @ "run文件路径"

例如:

D:/Program/envi43/IDL63/bin/bin.x86/idlde.exe -minimized -noconfirmexit -nosplash @"D:/protest/protest.run"

最简单的方法:直接拷贝envi的快捷方式,把最后envi的run的文件路径改成你的run文件路径就行

4)直接双击快捷方式就可以直接运行你的程序。

----------------------------------------------------

注意:如果使用idl6.4/envi4.4 运行程序可能会遇到无法初始化envi的问题 ,提示

ENVI_batch_init 找不到或者没定义。

那是因为编辑器本身找到到envi,把IDL根目录加到idl的搜索路径下就可以了

;---------------------------------------------

其实用了ENVI函数也是可以绿色发布的,运行连envi都不用装。涉及版权问题,就不在这里透露了--请支持正版哦


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/trilobiteh/archive/2009/03/27/4029093.aspx

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值