To provide maximum compatibility, gclib ships with an open source wrapper implementation of the GCL (GalilTools Communication Library). Users wanting to upgrade to gclib that have source built on Galil.h can use this wrapper to minimize source changes. This wrapper is also indicated for users that want the same function calls as Galil.h, but don't want the usage of QT as in galil1.dll.
This wrapper is intended for existing applications already using the library distributed with GalilTools (galil1.dll) or the previous STL library (galil2.dll). New applications should be written with gclib.
The following instructions were performed on Visual Studio Professional 2013 and can be extended to other Visual Studio versions. For brevity, the instructions assume the default installation location of C:\Program Files (x86)\Galil\gclib and a build type of x86 (win32).
C:\temp>set base=C:\Program Files (x86)\Galil\gclib
Note the quotes.
C:\temp>cl -c "%base%\source\wrappers\gcl\*.cpp" -I "%base%\include" -EHsc -MD
Note the quotes.
C:\temp>link /DLL gcl_datarecord.obj gcl_galil.obj "%base%\lib\dynamic\x86\gclib.lib" "%base%\lib\dynamic\x86\gclibo.lib" /OUT:galil2.dll
The output files galil2.dll and galil2.lib can now be used in a project using the GCL.
Help the loader find the right dlls.
C:\temp>set PATH=%PATH%;%BASE%\dll\x86
Link the simple example.
C:\temp>link gcl_simple.obj "%base%\lib\dynamic\x86\gclib.lib" "%base%\lib\dynamic\x86\gclibo.lib" galil2.lib /OUT:simple.exe
Run the example.
C:\temp>simple.exe Galil2.dll wrapper, gclib 106.75.180 10.1.3.169, DMC4020 Rev 1.2c, 291
$ cp -r /usr/share/gclib/src/wrappers/gcl . $ cd gcl $ ls Galil.h gcl_galil.cpp gcl_simple.cpp gcl_datarecord.cpp gcl_galil.h makefile
$ make gcl open source wrapper for gclib Compiling wrapper, libgalil.so.2.0 g++ -c -fPIC -std=c++11 gcl_datarecord.cpp gcl_galil.cpp Linking wrapper into shared library. g++ -shared -o libgalil.so.2.0 *.o -Wl,-soname=libgalil.so.2 strip --strip-unneeded libgalil.so.2.0 Cleaning up. $ sudo make install Installing libgalil.so.2.0 install -m 755 libgalil.so.2.0 /usr/lib install -m 644 Galil.h /usr/lib ldconfig ln -s /usr/lib/libgalil.so.2 /usr/lib/libgalil.so $ make clean Cleaning project...
$ g++ gcl_simple.cpp -lgalil -lgclib -lgclibo -o simple $ ./simple Galil2.dll wrapper, gclib 95.71.164 10.1.3.169, DMC4020 Rev 1.2c, 291