Notes to build clients on Windows
1. Supported compilers
We support with the following compilers:
- VisualStadio 2010 Pro
- VisualStadio 2010 Express SP1
- C++Builder XE Update1 boost update1
- C++Builder XE2 Update1
- C++Builder XE3 Update2
- C++Builder XE4 Update1
- C++Builder XE5 Update2
- C++Builder XE6
2. Installation and configuration of Boost
Installation of Boost library is required to build Transactd clients.
In the case of Visual Stadio, download Boost (version 1.50 or later) from Boost.org and build it.
Then, add new environment variable
TI_BOOST_ROOT_32
andTI_BOOST_ROOT_64
, set the value to boost folder of 64bit and 32bit. There is no need to set both. You should set variable for your build bitness.TI_BOOST_ROOT_32 = c:\boost\boost_1_51_32 TI_BOOST_ROOT_64 = c:\boost\boost_1_51_64
In the case of C++ Builder XE or later, boost is included with the compiler. If you have not selected the installation option, please install additional with C++ Builder installer.
It has not been added to the include path of the each project, open dialog from IDE menu - [Tools] - [Options] - [Environment Options] - [C++ option] - [directory path], check if
$(CG_64_BOOST_ROOT)
or$(CG_BOOST_ROOT)
is set, and add it if not.Please also check if
CG_64_BOOST_ROOT
andCG_BOOST_ROOT
is set or not to environment variables for your system.
Details to compile is in Build clients so please refer to it.
3. Build configuration
When you build a project group or a solution, please review the configuration with the target in the Configuration Manager in advance. And configuration target select the same for all projects.
However, since there is no unicode in tdclc project, please check the Release or Debug.
4. 64bit compilation with Visual Studio 2010 Express
If you want to compile a 64bit version with Visual Studio 2010 Express, open [options] - [configuration properties] - [General] - [platform toolset] and change it to "Windows7.1SDK "from "v100" on each project.
You can compile with "v100" with non-Express versions.
5. Rebuild command in Visual Studio
If you run the rebuild command in Visual Studio, it is possible that a part of output files are not created.
This is caused by that some projects output and clean files in the same folder. Please use the build and clean instead of rebuild command.
6. File name and version information of DLL files
tdclcpp_*.dll
is not compatible with the binary which has different compiler toolset,
character set, 32bit/64bit.
In addition, there is likely to be distributed from the different provider of this library. At that time, if binaries installed on the system directory is overwritten with incompatible binary, some applications will not work correctly.
In order to solve this problem, tdclcpp_*.dll has been named to the following rules:
tdclcpp_[compiler][compiler_version]_[32|64][m|u][r]_[versionMajor]_[versionMiner].dll
ex) tdclcpp_vc100_64m_1_0.dll
[compiler] | Short name of the compiler (vc | bcb | mgw) |
---|---|
[compiler_version] | Two or three digit of compiler version |
[32|64] | 32bit or 64bit |
[m|u] | Character set (multibyte or unicode) |
[r] | Use runtime of toolset (r) or not (none) |
[versionMajor] | Major version (It will be changed if the function has changed significantly) |
[versionMiner] | Minor version (It will be changed if the interface has changed) |
According to this naming rules, it is sure that there is a compatibility between the same name binaries.
If it will modified with no interface changes, the release version will increase. This does not affect the binary compatibility, so it is not included in the file name.
To identify latest file between the same name files, please use version information embedded in the binary. It includes build number and release version in addition to the major and minor versions.
tdclc_*dll
is almost identical naming rules,
but there are not [compiler_version], [compiler] and [m | u] in the above naming rules
because the character set and compiler tool does not affect the binary compatibility.
tdclc_[32|64]_[versionMajor]_[versionMiner].dll
ex) tdclc_64_1_0.dll
7. Installation and version control
Binaries of official distributions by BizStation are installed in the System folder in Windows.
If you want to override this, check the version number embedded in the file always, do overwrite only if newer.
If the proprietary interface, it is recommended that you install it in the Program Files folder with a different name.
Binaries of official distributions has been compiled in Visual Studio 2010.
Binary compatibility of tdclc_*.dll does not depend on the compiler.
8. Multibyte and Unicode
Because tdclcpp_*.dll can be compiled either Multibyte and Unicode, you can choose the one that is easy to use, depending on the character set of the application.
Unicode mode is recommended because there are a few notices like that it is required to use UTF-8 in Multibyte mode.
For more information please refer to SDK documents.