Windows C++ Compilers

From MobileRobots Research and Academic Customer Support

Jump to: navigation, search

In Windows, we support thre compilers: Microsoft Visual C++ (Visual Studio) .NET 2003 (version 7.1), Visual C++ 2008 (Version 9), and Visual C++ 2010 (version 10).

Each version of Visual C++ is generally incompatible with other versions (different, incompatible runtime libraries are used). In general project files, libraries and programs for Visual C++ 2008 (VC 9) contain "vs2008", or "VC9" in their file names, and libraries and programs for 2010 (VC 10) contain "vs2010" or "VC10" in their file names. Libraries and programs for 2003 do not contain a version tag in their name (for compatibility for versions of ARIA released prior to Visual C++ 2008 support).

MS Visual C 6.0 is strictly unsupported - consider upgrading. We discontinued support for MSVC 6.0 due to its many problems that are now resolved in newer versions.

Visual C++ Express 2010 is available for free download at http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express . Choose Visual C++ Express and choose your language. Skip the offer to buy Visual C++ Professional by clicking the small "Install Visual C++ Express (Language)" link in the popup window. You will also need the Windows Platform SDK.

You do not need Silverlight or SQL Server, and may decline to install both of these options.

(Visual C++ Express 2008 is still available at https://www.microsoft.com/visualstudio/en-us/products/2008-editions/express.)

For details on project settings and other information, see Microsoft Visual Studio Project Settings and the ARIA README.txt file.

Since the source code to ARNL is not available, you must link to the correct version of the ARNL DLL and LIB files for your compiler version. The default provided (in the 'lib' and 'bin' directories), was built with Visual C++ .NET 2003 (version 7.1). DLL and LIB files built with Visual C++ 2008 (version 9) are supplied with names that end in "VC9" and versions for Visual C++ 2010 (Version 10) have names that end in "VC10": AriaVC10.lib, AriaVC10.dll, ArNetworkingVC10.lib, ArNetworkingVC10.dll, BaseArnlVC10.lib, BaseArnlVC10.dll, ArnlVC10.lib, ArnlVC10.dll, SonArnlVC10.lib, SonArnlVC10.dll, AriaDebugVC10.lib, AriaDebugVC10.dll, ArNetworkingDebugVC10.lib, ArNetworkingDebugVC10.dll, BaseArnlDebugVC10.lib, BaseArnlDebugVC10.dll, ArnlDebugVC10.lib, ArnlDebugVC10.dll, SonArnlDebugVC10.lib, SonArnlDebugVC10.dll


Make sure you are linking to the correct libraries for the version of Visual C++ you are using.

If you are using incompatible libraries for your program, the program will run, and some calls into the libraries may work while others return invalid data or crash. For example, you may call a method of ArRobot in ARIA such as getX() or getY() and receive as the return value 0 (even if that is incorrect) or a completely invalid value (extremely large, for example).

Personal tools