dca_interface  6.3.4
Visual Studio 2008 Compiler and Linker settings

Introduction

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)

Configuration properties - C/C++ - General

Additional Include Directories: $(DCA_INCLUDES)

The variable

$(DCA_INCLUDES)

will be set automatically when you use the provided sample's batch file

run_dca_samples_solution.cmd (located in the samples directory)

$(DCA_INCLUDES) points to the installed/extracted header files of the SCA distribution and the 3rd party library header files separated by ; e.g.:

c:\dca\include;c:\dca\osslibs\include

Configuration properties - C/C++ - Preprocessor

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.

Configuration properties - C/C++ - Code Generation

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.

Configuration properties - Linker - General

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:

c:\dca\lib\Win32;c:\dca\osslibs\libs\Win32

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).

Configuration properties - Linker - Input

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 ...

PATH for 3rd party binaries and additional SDK DLLs

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:

<dca-install-dir>\dca\bin\Win32

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