I've found that putting DLMs in the IDL path or current working
directory to occasionally work depending on the IDL version, OS, shell
and environment variables. For example, I can't get a DLM to load from
the IDL Workbench on OS X, yet it works fine using the idl command
line.
The only guaranteed way is to put the DLM and shared object in the
same place as the idl executable binary.
For example:
C:\Program Files\ITT\IDL70\bin\bin.x86
/Applications/itt/idl70/bin/bin.darwin.i386
/usr/local/itt/idl70/bin/bin.linux.x86
If you compiled it as 64 bit then you need to place them in the 64 bit
directory and run 64 bit idl. For example:
/usr/local/itt/idl70/bin/bin.linux.x86_64
You must compile your module separately for each platform and
architecture.
If you are planning on distributing for windows then I would recommend
writing a batch file or Windows Installer (WIX) to copy the DLM to the
required location.
I hope this helps. Please let me know if there is an easier way,
because I'm going to be distributing a cross platform DLM soon as
well.
Robbie


|