打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
IDL程序发布方法总结

一、纯IDL程序在IDL7.0之前版本的发布方法

(1)  Windows平台下根据主程序名建立project,使用Export按钮发布。

发布后的程序若需要简化体积,只需bin.x86下包括freetype2_1_3.dllidl.dllidl.prefMesaGL6_2.dllMesaGLU6_2.dllosmesa6_2.dllug3220.dllmyApp.exe文件,\lib\hook\下包含idlrtmain.sav文件即可运行,如果调用到了相关函数只需拷贝对应的DLM到当前系统目录即可。

 

图:使用Export按钮进行程序发布

 

图:ExportFiles对话框

(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     ;对话框界面是否弹出<TrueFalse>

         BackColor=&H6B1F29 ;对话框的背景颜色

         Caption=<anystring>    ;对话框的标题文字

         Picture=.\splash.bmp     ;对话框需要显示的图像,标准大小480 x 335,若图像大则大的部分显示背景色;

         DefaultAction=<path toapplication>  ;运行时执行的代码;

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)    双击即可运行。

这种方式发布出来的程序的运行需要安装ENVIIDL,并且设置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后面修改为系统安装IDLIDLrt.exe的完整路径,例如:C:\ProgramFiles\Exelis\IDL82\bin\bin.x86_64\idlrt.exe-rt=test_envi.sav

图:INI配置文件

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
ENVI下用菜单调用IDL程序的方法
基于Python的矿山遥感监测系统开发方法
IDL调用ENVI中的一些函数(待完善)
ENVI5.3安装包与安装教程
精简出最小 jre
envi5.3安装教程
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服