This document will explain how to acquire the 3rd party libraries that are needed to make plug-ins for Opticks.
This document will also explain how to compile and link against the 3rd party libraries once you have acquired them. This document assumes that the SDK was unzipped to a location known as SDK_HOME. Wherever you see the word SDK_HOME, please expand that to be the directory where you unzipped this SDK.
You must first install Java Runtime Environment 1.4 or later (
http://www.java.com/).
The SDK includes a batch file and shell script that will automatically fetch all of the 3rd party libraries that may be needed when creating plug-ins for Opticks. This script can be found in the SDK_HOME\Dependencies folder. There are two scripts, retrieve-dependencies and dependencies. The retrieve-dependencies script has no arguments and downloads all of the 3rd party libraries for the platform it is run on.
In general on Windows, this script can be run by opening a command window and running the following command:
cd SDK_HOME\Dependencies
retrieve-dependencies.bat
In general on Solaris/Linux, this script can be run by opening a terminal window and running the following command:
cd SDK_HOME/Dependencies
./retrieve-dependencies.sh
The dependencies script provides more features and arguments. For complete documentation on Windows, run the following command:
For documentation on Solaris/Linux, run the following command:
The pre-built binaries that the dependencies scripts fetch are compilations of the original source distributions and then they have been arranged into a convenient directory structure to support cross-platform compilations. Each dependency places it's binaries and header files into the directory layout shown below:
-
Dependencies
-
32 - contains 32-bit binaries and header files only
-
bin - contains the debug and release 32-bit DLL's for Windows. Contains any 32-bit executable programs provided by the dependencies.
-
debug - if both debug and release DLLs have the same name, this contains the 32-bit debug DLL's only
-
include - contains the header files, some dependencies create subfolders.
-
lib - contains the release 32-bit so's and a's for Solaris/Linux. Contains the debug and 32-bit libs for Windows.
-
debug - if both debug and release libs have the same name, this contains the 32-bit debug libs only
-
64 - contains 64-bit binaries and header files only
-
bin - contains the debug and release 64-bit DLL's for Windows. Contains any 64-bit executable programs provided by the dependencies.
-
debug - if both debug and release DLLs have the same name, this contains the 64-bit debug DLL's only
-
include - contains the header files, some dependencies create subfolders.
-
lib - contains the release 64-bit so's and a's for Solaris/Linux. Contains the debug and 64-bit libs for Windows.
-
debug - if both debug and release libs have the same name, this contains the 64-bit debug libs only
For detailed information on the compiler and linker settings needed when compiling against these third-party dependencies, you can either reference the Visual Studio 2010 property sheets or SCons tool configurations. The Visual Studio 2010 property sheets are located in SDK_HOME\Application\CompileSettings and can be opened in any text editor. It should be self explanatory how to read the property sheets and apply the settings to the build tool of your choice. The SCons tool configurations are also located in SDK_HOME\Application\CompileSettings and can be opened in any text editor.