-
March 13th, 2008 09:35 PM #1
Understanding the structure of Visual Studio C++ Symphony sample projects
1. Pre-compiled header file
stdafx.h referred by client, service and common, is a header file including pre-compiled source files that implement C++ wrappers of frequently used and hardly changing low-level C functions written in soambase.lib, such as SoamException.
2. Client and Service
C++ wrapper object files compiled from source files under %SOAM_HOME%\4.0\src are directly and statically linked by basic user applications required to use Symphony API, e.g. Client and Service. Client and Service projects are configured to be dynamically linked to soambase.dll as show in the figures below.


Dynamically linked to soambase.dll available under %SOAM_HOME%\4.0\src.
3. Common
Mostly Common project holds implementation of message classes. So, Common project is also linked to C++ wrapper objects to use Symphony message class, as evidentally shown below.

Message class object files are wrapped in a bigger library, e.g. common.lib, to be used by Client and Service.
4. Incrementally adding Common project
It's encouraged to use samples C++ samples inside Symphony DE package as templates for sound out-of-box project configuration. However, if you're willing to incrementally implement your Common project and add to your whole application later, you have to make sure you go through the following configuration steps to build your applications successfully.
(1) Right click on the project (SyncClient as shown in the example below)widget from the solution explorer and select Project Dependencies.

(2) Select the project you depend on, Common in the example below.

(3) Add additional dependency ("common.lib" as shown in the example below) explicitly through Properties -> Linker -> Input

(4) Add additional library directory ("..\Output" where common.lib is built as shown below) explicitly through Properties -> Linker -> General

(5) Add additional include directory ("...\common" as shown in the example below)
Last edited by Ajith; July 16th, 2008 at 06:53 PM.
Tags for this Thread
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
Forum Rules