Linux-based applications that call ImageGear functions may be compiled using any ANSI C or C++ compiler, though some compilers’ switch settings may be slightly different from those shown in the examples below.
To compile and link your program:
- Inform the compiler where to find the standard and ImageGear "#include" files.
- Inform the linker where to find the ImageGear library.
- Inform the linker which libraries to use.
To inform the compiler of the path to your "#include" files, use the -I switch. If gear.h is in $HOME/Accusoft/ImageGearXX-64/include directory, use the following specification:
-I$HOME/Accusoft/ImageGearXX-64/include
Use a switch such as -L to direct the linker to the ImageGear library file, using:
-L$HOME/Accusoft/ImageGearXX-64/bin/
Use a switch such as -l to instruct the linker to the libraries to be included in the link process. You must include the ImageGear library:
-lIGCOREXX
You may need to include toolkit libraries using:
-lXm -lXt
X-Windows System and Math Library
In addition to linking with libIGCOREXX.a, you must also link with the X Windows System library (libX11.a) when building GUI applications, the math library (libm.a), and the thread support library (libpthread). These libraries should be in the following order:
-lIGCOREXX -lX11 -lm -lpthread
Depending on the platform, the dynamic loader may also be required:
-lIGCOREXX -lX11 -lm -lpthread -ldl
Compilation Flags
You must also define certain flags compiler. Most, if not all, will be included by the preprocessor, but you may find it necessary to define them yourself. They are:
-D_UNIX64 (all 64-bit platforms)
-D__unix (all platforms)
-D__linux (Linux)
The compile/link will build your application’s executable file. If you link to the shared ImageGear library, the path to that library must be included in the library path environment variable, such as LD_LIBRARY_PATH. That directs the system to the shared library files.
Build Samples
Starting with ImageGear for C and C++ v18.1, all supplied samples use the CMake build system. Given that CMake is installed and available, invoke:
cmake <path to CMakeLists.txt>
from the build directory to generate Makefile. Then invoke:
make
to actually build the sample.