摘要: 大家都知道IDL程序发布出来或打包是可以直接运行的,区别只是无license虚拟机模式还是有license的runtime模式。但是如果IDL代码里使用了envi的函数,这时候发布出来的sav文件(或exe、idlrt啥的)就不能直接运行。运行后就会弹出一个丑...
大家都知道IDL程序发布出来或打包是可以直接运行的,区别只是无license虚拟机模式还是有license的runtime模式。但是如果IDL代码里使用了envi的函数,这时候发布出来的sav文件(或exe、idlrt啥的)就不能直接运行。运行后就会弹出一个丑陋的envi界面。
解决办法:不能运行是因为使用了envi的函数后,需要用envi的方式去运行。(假如的程序叫Protest)
1)先建一个文本文件,命名为protes.run,里面写上程序的名字protest
2)打开idl编辑器把打包程序目录(包含sav文件的目录)修改成Idl工作目录或者是添加到IDL搜索路径
3)建立一个快捷方式。在快捷方式的属性中目标加上一下命令 idlde路径 -minimized -noconfirmexit -nosplash @ "run文件路径"
例如:D:Programenvi43IDL63binbin.x86idlde.exe -minimized -noconfirmexit -nosplash
@"D:protestprotest.run" 最简单的方法:直接拷贝envi的快捷方式,把最后envi的run的文件路径改成你的run文件路径就行
4)直接双击快捷方式就可以直接运行你的程序。
----------------------------------------------------
注意:如果使用idl6.4/envi4.4 运行程序可能会遇到无法初始化envi的问题 ,提示 ENVI_batch_init 找不到或者没定义。那是因为编辑器本身找到到envi,把IDL根目录加到idl的搜索路径下就可以了;
----------------------------------------------------