The environment used is: WinXP Professional MSVC SP5
TAO fully supports Win32API, including Windows NT, Windows 2000, Windows 95/98 / ME) VC5.0 and VC6.0 can be compiled.
I. Compiling and install ACE and TAO under Win32 VC6.0 compresses the TAO software packaged on the Internet to a directory, and there will be ACE_WrapPers directories in this directory. Please follow the steps below:
1. Newly built two environment variables: ACE_ROOT = ACE_WRAPPERS is located; tao_root = ace_wrappers / tao
2. Create an empty file config.h in the ACE_ROOT / ACE directory, contains a sentence: #include "ace / config-win32.h" to illustrate the compilation of the Win32 platform. Note: (1) #include "config-win32.h" can also be (2) Best to add #define ace_has_standard_cpp_library 1 to the STL library of MSVC before #include.
3. If it is 98 / me, the top of the ACE_ROOT / ACE / CONFIG.H is added to the #define ace_has_winnt4 0 to turn off some NT / 2000 in special code.
4. If you want to use the MSVC's STL library (such as iostream, cstdio et al.), Add the following line before the #include statement in the config.h file: #define ace_has_standard_cpp_library 1 Note: Recommend the compilation switch. Otherwise, the new hand In terms of the STL library of using MSVC in their own project, there will be some small trouble.
5. If you want to use the MFC library in ACE, you need to add: #define ace_has_mfc 1 in config.h: DLL files for MSVC are used by default. You can choose to use ACE's static library file (lib) without considering these runtime libraries. The reason for selecting a dynamic link is that all NTs will contain these DLL files (save space). If you want to use the MFC's static library version, you need to add the following macro definitions in config.h: #define ace_uses_static_mfc 1 You can all Using a static library, this requires you to set it yourself in the project file of the ACE. 6. If the ACE_STATIC_LIBS macro is defined, the ACE library will be compiled into a static library. If your program is static link ACE's static library, you have to define this macro in your project: ACE_AS_STATIC_LIBS. As an option, in order to reduce the size of the static library file and your executable, you can be in Ace_Root / Add the following macro definition #Define ace_no_inline to disable the inline function before the #include statement of the ACE / Config.h file. 7. Open TAO and ACE project files: ACE_ROOT / TAO / TAOACE.DSW, start compiling ACE and TAO. Note that ACE and TAO have two versions of Debug and Release. If you are developing your own programs, if it is debug version The program must link the DEBUG version of the TAO library. If it is a Release version, you must link the Release version of the TAO library.
There is many projects in TaoAce.dsw, and the project is dependent between engineering. Therefore, the order of this engineering compilation is more important. The order of compilation is compiled, which is described below. Each project contains some different configurations: Debug / Release, MFC / NON-MFC, Static / Dynamic et al. You must determine the version you need. For example, you want to generate the Debug version of your program, you need the Debug version of the ACE. Note: If you use a dynamic (DLL) version of TAO, you need to add the ACE_ROOT / BIN directory to your program's PATH environment variable when developing programs, otherwise the dynamic link library will not be found. 8. Compilation order A lot of services in .Tao may be you can't use. So there is no need to compile all the programs when compiling. I want to compile Tao is still a daunting task. I am only available for Naming and Event service, and useless Its real-time CORBA function. So my compilation order is: Description Project Need to compile ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ------- core library ACE DLL FilesTAO DLL FilesIDL compiler gperf FilesTAO_IDL_FE_DLL FilesTAO_IDL_BE_DLL FilesTAO_IDL compiler FilesPOA PortableServer Files names and event services IORTable FilesSvc Utils FilesCosNaming FilesNaming_Service FilesMessaging FilesCosEvent FilesCosEvent_Service FilesNT_Naming_Service Files ------------ ---------------------------- There is a script that automatically compiles all TAO projects on the homepage of Tao. The files obtained after compile are scattered in each directory: executable program and dynamic link library files: $ ACE_ROOT / BINLIB File: $ (ACE_ROOT) / ACE, $ (tao_root) / tao, $ (tao_root) / orbsvcs / orbsvcs Documents: $ (ACE_ROOT), $ (TAO_ROOT), $ (tao_root) / orbsvcs10. ACE DLL and LIB Name Rules: When using MSVC compile, the naming rules are as follows: "Static Library / DLL File Name" (is static) Will the library? "S": "") (Is the libuG mode library? "D": ") (.dll / .lib) 11. Test TAOTAO's test code is located in the tao_root / tests directory. There is an engineering file for a VC: tao_tests.dsw to compile all test code.