dca_interface
6.3.4
|
The SCA linker libraries are only provided as release versions.
All applications which wish to use the SDK must link against the libraries using special compiler and linker settings
Nevertheless debugging your application is still supported. See the sample vcproj files for the recommended settings.
(Open the properties dialog of your project to set up the required properties)
Additional Include Directories: $(DCA_INCLUDES)
The variable
will be set automatically when you use the provided sample's batch file
$(DCA_INCLUDES) points to the installed/extracted header files of the SCA distribution and the 3rd party library header files separated by ; e.g.:
Preprocessor Defines: ...
Never define DEBUG in any configuration!
Since the SCA uses the STL library header files, defining DEBUG will cause other symbols to be used than those used in the linker libraries. If DEBUG is not defined, you will be still able to debug your code, but the correct STL header files will be included.
Complete runtime checks: Default
Set the runtime checks to Default to prevent the compiler from generating incompatible object code.
Runtime Library: Multithreaded-DLL (/MD)
You must use multi-threaded runtime (Release) DLLs also when using a Debug configuration otherwise the compiler generates incompatible object code.
Additional Library Directories: $(DCA_LIBS)
$(DCA_LIBS) point to the installed/extracted static linker libraries of the SCA distribution and the 3rd party import linker libraries.
This is usually:
Hint: $(DCA_LIBS) will be set up automatically when you use the provided samplebatch file run_dca_samples_solution.cmd (located in the dca\samples directory).
Depending on the features you wish to use, add the required SCA linker libraries to
Additional Dependencies: libdca.lib libdca_url.lib libdca_text.lib ...
Usually there are a few 3rd party and internal DLLs the SCA Linker libs require to load. Add the import libraries the same way as the static SCA linker libraries:
Additional Dependencies: ... libcurl.lib ssleay32.lib libeay32.lib ...
You must add the location of your 3rd party binaries (e.g. boost, libcurl.dll, zlib1.dll, icuuc.dll, libxml2.dll etc.) to your PATH environmental variable.
The location of the SCA executables must also be added to the PATH variable..
This is usually:
Hint: Write a short cmd file to prepend the PATH and start your application
Sample:
REM *** REM Sample: Running a file using the SCA and 3rd party libraries by REM prepending the PATH environment variable and then launching REM myapplication.exe REM *** @echo off PATH=c:\dca\bin\Win32;c:\dca\osslibs\bin\Win32;%PATH% myapplication.exe