Building ACE/TAO with Intel® C++ Compiler for Windows XP 64-bit using Visual Studio

Introduction : 
This document explains how to build ACE/TAO using Intel® C++ Compiler for Windows XP 64-bit. From the ACE/TAO web site:

ACE† is an open-source framework that provides many components and patterns for developing high-performance, distributed real-time and embedded systems. ACE provides powerful, yet efficient abstractions for sockets, demultiplexing loops, threads, synchronization primitives.

TAO† (The ACE ORB) is an open-source implementation of a CORBA Object Request Broker (ORB) built using components and patterns in the ACE framework.
Several companies provide commercial support for ACE/TAO, see† for information.

Version : 
The version of ACE/TAO used in this document is 5.7.2.
The 11.1.038 version of the Intel C++ compiler (Intel64) is used.

Obtaining Source Code : 
The ACE/TAO source code was downloaded from†.

Prerequisites : 
- WinZIP or similar tool for extracting software archives
- Microsoft Visual Studio (2003, 2005 or 2008)

Configuration and Set-up information : 

1. Extract the archive into a path with no spaces in the path name (e.g., C:\ACE_wrappers).

2. Set ACE_ROOT, TAO_ROOT, and PATH environment variables.

For example, if ACE/TAO is installed in C:\ACE_wrappers, the variables should look like this:
The PATH variable should contain these directories: %ACE_ROOT%\bin;%ACE_ROOT%\lib

Please follow these steps to set the environment variables:

- Log into an account with Administrator privilege
- Open the Control panel
- Click System
- Click the Advanced tab and then click the Environment Variables button
- Add new ACE_ROOT and TAO_ROOT variables
- Edit PATH variable from the System variables list
- Click OK

3. Create a file named config.h in %ACE_ROOT%\ace with the following contents:

#include "ace/config-win32.h"

4. Open the solution file that matches your version of Visual Studio.
For example, you could find following solution files:

%TAO_ROOT%\TAO_ACE.sln (Visual Studio 2003)
%TAO_ROOT%\TAO_ACE_vc8.sln (Visual Studio 2005)
%TAO_ROOT%\TAO_ACE_vc9.sln (Visual Studio 2008)

The projects in the TAO_ACE solution build the ACE and TAO libraries, TAO IDL compiler, gperf, ORB services
libraries and executables, and some common utilities. They do not include any examples, tests, or performance
tests. (Separate directories and solutions exist for them.) Libraries will be installed in %ACE_ROOT%\lib.
Some executables will be installed in %ACE_ROOT%\bin, others (the ORB services executables) will be installed
in their source directories.

5. It is necessary to update the solution to use the Intel® C++ Compiler.
In the Solution Explorer, select the solution and click the Use Intel C++ toolbar button.
Alternatively, select Intel C++ Compiler Pro > Use Intel C++ from the Visual Studio Project menu.
Click the OK button to continue.
The TAO_ACE solution constains many projects and it will take some time to update them to use Intel C++.

Finally, you should see the message in the output window with the list of the successfully updated projects.

6. Open Solution Properties and create a new platform configuration for x64 using the Configuration Manager.
Make sure, that current (target) configuration is Debug|x64 or Release|x64 and build solution (Build > Build Solution).

During building of the solution, go to the Output window to verify that the Intel C++ Compiler is used. If Intel C++ Compiler is used, you should see a message similar to the following:

Compiling with Intel® C++...[Intel® 64]... (Intel C++ Environment)

Verifying Correctness

There are many examples and tests included in ACE/TAO. Additional separate directories and solutions exist for them.
It is possible to compile all tests using corresponding test solution files from %ACE_ROOT%\tests folder.
There is one solution file for all tests (each for different versions of VS) there, however, it is also possible to compile each test separately.

For example, you could compile ACE_Test to verify the correctness of ACE compilation using following instructions:

1. Open ACE_Test project file from %ACE_ROOT%\tests folder (e.g.,ACE_Test_vc9.vcproj for VS2008).

2. It is necessary to update the solution to use the Intel® C++ Compiler. Please follow the same instructions as described previously in step 5. You will be also asked to save the solution.

3. Make sure, that current (target) configuration is Debug|x64 or Release|x64 (it should be the same with the compiled libraries) and build solution.

4. Run the test (F5 or Ctrl+F5).

5. You could check the logs in %ACE_ROOT%\tests\log folder (ACE_Test.log file). In case of normal execution the output looks like this:

Sep 08 15:52:11.103 2009@LM_DEBUG@(3820|5884) Starting ACE_Test test at Tue Sep 8 2009 15:52:11.103000
Sep 08 15:52:11.103 2009@LM_DEBUG@(3820|5884) Ending ACE_Test test at Tue Sep 8 2009 15:52:11.103000

Source Code Changes : 

None required.

Related topics: 

Known Issues or Limitations : 
None. Please contact Intel® Premier Support website or Intel® User Forums if you encounter problems or want to provide feedback.

† This link will take you off of the Intel Web site. Intel does not control the content of the destination Web Site.
For more complete information about compiler optimizations, see our Optimization Notice.