Where to Download
The most recent and previous releases can be downloaded from
http://www.opendesign.com/members/memberfiles
or https://www.opendesign.com/odoutgoing/Releases/.
Only registered Open Design Alliance members can access the download pages.
For more information regarding Open Design Alliance Membership, please see
http://www.opendesign.com/join.
ODA Platform Naming Conventions
The following is a list of naming conventions used for ODA platform downloadable archives
(.zip and .tar.gz), by platform. In general, unless "dll" appears
in the archive name, the archive contains static libraries.
Windows
Windows 32-bit and 64-bit
- vc<N> — Microsoft Visual Studio version, where
<N> means:
- 8 — Microsoft Visual Studio 2005
- 9 — Microsoft Visual Studio 2008
- 10 — Microsoft Visual Studio 2010
- 11 — Microsoft Visual Studio 2012
- 11xp — Microsoft Visual Studio 2012 with
WinXP support
- 12 — Microsoft Visual Studio 2013
- 12xp — Microsoft Visual Studio 2013 with
WinXP support
- 14 — Microsoft Visual Studio 2015
-
14xp — Microsoft Visual Studio 2015 with WinXP support
-
bb<N> — Borland/Embarcadero C++ Builder version <N>
-
dll — Indicates dynamic link library version
-
md, mt, ml — /MD, /MT, etc. Visual Studio compiler options
(static library)
-
wm, wr — /WM, /WR, etc. Borland compiler options (static library)
-
dbg — Indicates the presence of debug information (/mtd, /mdd, /wrd, /wmd, etc.)
-
rwd — Release build containing debug information (useful for
reproducing certain types of runtime problems)
-
amd64 — Libraries built for the x86 AMD64 platform
Windows CE (VS2005)
-
armv4, armv4i — Platforms for which the libraries are built
-
mt, mtdbg — /MT or /MTd (debug) compiler option, respectively
Windows RT (VS2012)
-
winrt — Platforms for which the libraries are built
-
md, mddbg — /MD or /MDd (debug) compiler option, respectively
Choosing a downloadable archive for Windows platforms
All ODA software executables are built with dependency on the C/C++ runtime library
(CRT), which implements basic functionality, such as input/output operations,
memory management, string manipulation, and so on.
There are two ways of linking the CRT library:
- Static linking
- Dynamic linking
And there are three types of CRT libraries:
- Static Single Threaded
- Static Multi Threaded
- Dynamic Link Multi Threaded
Each type can be represented with a Release or Debug configuration.
To get a successfully built custom application developed with the Kernel API, the CRT library
used by the application must match the CRT library used by the Kernel libraries.
In other words, custom applications should use the same compiler switch that
was used to build ODA libraries. Compiler switches used for different library configurations
are illustrated in the table below.
Library Type and Configuration |
Compiler Switch |
CRT Library File Name |
Macros Name |
Single Threaded |
/ML |
LIBC |
|
Single Threaded Debug |
/MLd |
LIBCD |
_DEBUG |
Static Multi Threaded |
/MT |
LIBCMT |
_MT |
Static Multi Threaded Debug |
/MTd |
LIBCMTD |
_MT, _DEBUG |
Dynamic Link (DLL) |
/MD |
MSVCRT |
_MT, _DLL |
Dynamic Link (DLL) Debug |
/MDd |
MSVCRTD |
_MT, _DLL, _DEBUG |
ODA library downloads support each of these reusable CRT library types:
-
Downloadable archives with Static CRT contains the mt
suffix in its name. For example, Kernel_vc11mt.zip contains the Kernel archive
with Static CRT, built with Microsoft Visual Studio 2012.
This configuration requires that you use an /MT switch to build
a custom application.
-
Downloadable archives with Dynamic Link Multi Threaded CRT contains the
dll suffix in its name. For example, Kernel_vc11dll.zip contains
the Kernel archive with the Dynamic Link Multi Threaded CRT, built with Microsoft
Visual Studio 2012.
This configuration requires that you use an /MD switch to build a custom application.
-
Downloadable archives with Static/Dynamic CRT contains the md
suffix in its name. For example, Kernel_vc11md.zip contains the Kernel archive
with both Static Multi Threaded and Dynamic Link Multi Threaded CRT, built
with Microsoft Visual Studio 2012.
This configuration also requires that you use an /MD switch to
build a custom application, but it allows you to mix the static and DLL
(dynamic) reusable CRT library types.
Using compiler switches when building a custom application or DLL:
-
The /MD switch causes a custom application or DLL to use the Multi Threaded
and DLL versions of the CRT library. It defines _MT and _DLL macros within
an application and causes the compiler to place the library name MSVCRT.lib
into the .obj file.
Custom applications and DLLs compiled with this option are statically
linked to MSVCRT.lib, containing code which allows them to resolve external
references.
Actual working code is contained in MSVCR90.DLL. This file must be availableat run time.
-
The /MT switch causes a custom application or DLL to use the Static Multi
Threaded version of the CRT library. It defines the _MT macro within an application
and causes the compiler to place the library name LIBCMT.lib into the .obj
file. In this case, the linker uses LIBCMT.lib to resolve external symbols.
Note that the question of choosing a Kernel downloadable archive is the same
question of choosing a CRT library linking method: dynamic or static. The chosen
method determines whether a custom application or DLL will have any external DLL
dependencies.
Linux
- lnx — Linux
- X86, X64 — Indicates X86 or X64 platform
- 3.3, 3.4, 4.1, 4.2, etc. — GCC versions
- dll — Indicates a shared library version
- pic — Compiled with Position Independent Code option
Android
- android — Android OS
- armeabi, armeabi-v7a, x86, x86_64 — ARM specific build
- linux, mingw — Build environment, under Linux or Windows using
MinGW, respectively
- dbg — Indicates the presence of debug information
macOS
- macOsX — macOS
- x86, x64 — Libraries built for X86 and X64 respectively
- 10.4, 10.5, etc. — Version number of macOS that the libraries
are built for
- dll — Indicates a shared library version
- pic — Compiled with Position Independent Code option
iOS
- iphone — iOS
- 5.1 etc. — iOS SDK version (note, this not an iOS version!)
- sim — Simulator build (real device otherwise)
- dbg — Indicates the presence of debug information
Solaris
- sol — Oracle Solaris
- x86, x64 — Platform for which the libraries are built
- pic — Compiled with Position Independent Code option
- gcc — Compiled by GCC
Solaris (SPARK)
- sparc32, sparc64 — Oracle Solaris (SPARC) libraries compiled for 32-bit
and 64-bit use, respectively
- pic — Compiled with Position Independent Code option
- gcc — Compiled by GCC (Sun compiler otherwise)
HP
- hp32, hp64 — Libraries compiled for 32-bit and 64-bit use, respectively
- pic — Compiled with Position Independent Code option
Copyright © 2002 – 2020. Open Design Alliance. All rights reserved.
|
|