转自:http://hi.baidu.com/qqzwind/blog/item/e786c21347292026dd5401dd.html
大家都知道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都不用装。涉及版权问题,就不在这里透露了--请支持正版哦