IDL程序发布方法总结

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

IDL程序发布⽅法总结
⼀、纯IDL程序在IDL7.0之前版本的发布⽅法
(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到当前系统⽬录即可。

图:使⽤Export按钮进⾏程序发布
图:Export Files对话框
(2)Unix下使⽤make_rt命令。

⼆、纯IDL程序在IDL7.0及以上版本中的发布(Windows版本) IDL7.0及以上版本,⽤MAKE_RT命令代替了Export功能,下⾯介绍发布步骤。

1. 创建SAV⽂件
⽅法1:使⽤SAVE命令完成
对于单个或少量源码⽂件,使⽤SAVE命令较为⽅便。

以helloworld.pro为例,使⽤如下命令编译SAV⽂件,编译后的SAV⽂件可双击运⾏。

IDL> .RESET_SESSION ;重置IDL进程,或点击⼯具栏按钮重置IDL
IDL> .COMPILE HELLOWORLD.PRO
% Compiled module: HELLOWORLD.
IDL>SAVE,'HELLOWORLD', FILENAME ='D:\TEMP\HELLOWORLD.SAV', /ROUTINES
注:⽣成的SAV⽂件名必须与主过程名⼀致,否则⽆法运⾏。

⽅法2:通过构建⼯程创建SAV⽂件
对于含有多个源码的⼯程,使⽤SAVE命令较为繁琐,需要对所有源码进⾏编译后才能运⾏SAVE命令。

所以推荐使⽤构建⼯程的⽅法。

⾸先保证所要编译的源码以⼯程形式存在,如果不是,可以新建与主过程名同名的⼯程,将源码和资源⽂件拷贝进去即可。

然后在⼯作台的资源管理器中,右键选择⽬标⼯程,点击构建⼯程(IDL 8.2中为构建项⽬),设置项按默认即可,在IDL控制台会出现构建进程和结果提⽰,如图所⽰。

图:右键选择构建⼯程
图:构建⼯程设置界⾯
2. 发布EXE⽂件
在创建完SAV⽂件后,就可以利⽤SAV⽂件发布EXE程序了。

⾸先收集相关信息:
–选择你要运⾏的程序的名字:myApp
–确定发布的完整输出路径存在,否则MAKE_RT会报错:OutDir
–知道包含你程序所有代码的sav⽂件完整路径;savefile
运⾏MAKE_RT过程
– MAKE_RT, 'myApp', OutDir, SAVEFILE=savefile
添加额外⽂件到发布的程序中;程序中使⽤到了某些配置⽂件或基础数据⽂件则需要拷贝到对应的⽬录下。

修改启动脚本-myApp.ini。

– [DIALOG]
– Show=False ;对话框界⾯是否弹出<True和False>
– BackColor=&H6B1F29 ;对话框的背景颜⾊
– Caption=<any string> ;对话框的标题⽂字
– Picture=.\splash.bmp ;对话框需要显⽰的图像,标准⼤⼩480 x 335,若图像⼤则⼤的部分显⽰背景⾊;
– DefaultAction=<path to application> ;运⾏时执⾏的代码;
以IDLViewer为例,收集信息如下:
程序名称:IDLVIEWER
发布路径:D:\TEMP
SAV⽂件路径:D:\IDLViewer\IDLViewer\idlviewer.sav
在IDL控制台输⼊如下命令:
MAKE_RT,'IDLVIEWER','D:\TEMP', SAVEFILE ='D:\IDLVIEWER\IDLVIEWER\IDLVIEWER.SAV'
Make_RT常⽤关键字:
Overwrite:覆盖之前发布的版本,重新⽣成⽂件
WIN32:发布程序以32位模式运⾏
WIN64:发布程序以64位模式运⾏
VM:以虚拟机模式运⾏发布的程序
发布成功之后,在D:\Temp\idlviewer路径下含有如下⽂件:
图:idlviewer.ini配
置⽂件
三、调⽤了ENVI函数的IDL程序发布⽅法
如果IDL程序中调⽤了ENVI函数,那么在发布的时候有⼏个需要注意的地⽅。

下⾯是常⽤的⼏个⽅法。

注:在源码中使⽤了如下代码调⽤ENVI函数,建议在前⾯加⼊COMPILE_OPT IDL2,保证在编译的时候不会出错。

ENVI, /RESTORE_BASE_SAVE_FILES
ENVI_BATCH_INIT
1. 模仿ENVI的快捷⽅式
该⽅法仅对IDL7.0之前的版本适⽤,在IDL7.0及之后版本下暂时不能⽤。

假设你的程序的名称是myApp,通过下⾯的步骤发布:
(1)建⽴.run⽂件
先建⼀个⽂本⽂件,命名为myApp.run,⾥⾯写上程序的名字myApp。

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

图:添加路径
(3)建⽴快捷⽅式
建⽴⼀个快捷⽅式。

在快捷⽅式的属性中⽬标加上⼀下命令
idlde路径 -minimized -noconfirmexit -nosplash @ "run⽂件路径"
例如:
D:\Program\envi43\IDL63\bin\bin.x86\idlde.exe -minimized -noconfirmexit -nosplash @"C:\protest\myApp.run"
最简单的⽅法:直接拷贝ENVI+IDL的快捷⽅式,把最后envi.run的⽂件路径改成你的run⽂件路径就⾏
(4)双击即可运⾏。

这种⽅式发布出来的程序的运⾏需要安装ENVI及IDL,并且设置IDL的⼯作路径,否则出错。

2. 使⽤MAKE_RT命令发布
该⽅法在各个版本下均测试通过,在IDL8.2下的操作步骤为:
(1)创建SAV⽂件
单个或较少源码⽂件时,利⽤SAVE命令创建SAV⽂件,⽅法与纯IDL程序创建SAV⽂件相同,这⾥不再赘述。

多个源码⽂件时,建议使⽤构建⼯程的⽅法创建SAV⽂件。

与纯IDL程序不同的是,需要先修改⼯程构建属性(右键选择属性即可)。

如图所⽰,从左侧选择⼯程构建属性。

——对于IDL8.0及之前版本,需要取消勾选RESOLVE_ALL;
——对于IDL8.2及之后版本,需要勾选RESOLVE_ALL。

然后构建⼯程。

图:⼯程构建属性修改
(2)发布为EXE⽂件
使⽤MAKE_RT命令即可,⽅法与纯IDL程序发布⽅法⼀致,将资源⽂件和许可⽂件拷贝进去之后,修改INI配置⽂件。

将[Dialog]下的DefaultAction后⾯修改为系统安装IDL的IDLrt.exe的完整路径,例如:C:\Program
Files\Exelis\IDL82\bin\bin.x86_64\idlrt.exe -rt=test_envi.sav。

图:INI配置⽂件。

相关文档
最新文档