在Windows上安装ACE
我在Freebsd上用Port轻易的安装好ACE,但是在编译环境上有些问题。因此想参考Windows下ACE例程的环境。 在Windows上安装ACE,与安装普通的Windows程序不同。它必须借助于VC等编译工具,在本机重新编译,而不是直接发布2进制的库文件。我想这样是为了向 程序
我在Freebsd上用Port轻易的安装好ACE,但是在编译环境上有些问题。因此想参考
Windows下ACE例程的环境。
在Windows上安装ACE,与安装普通的Windows程序不同。它必须借助于VC等编译工具,在本机重新编译,而不是直接发布2进制的库文件。我想这样是为了向
程序员提供更多的选择。
完整的安装文件可以参见ACE_ROOT/ACE_INSTALL.html中。关于
Windows系统上的安装,主要内容摘录如下:
Note concerning MSVC 5.0 and Service Pack 3: There has been
confusion regarding MSVC 5 and its Service Pack 3. Some ACE users
have, in the past, had problems with SP3 that were not present in SP2.
Thanks to the diligent efforts of
Bill Fulton, the
mystery appears to be solved. The key? (Oh, this is a good one...)
It would appear that there are actually multiple versions of SP3 in
existence. The earlier ones have the
bug, while later ones have it
fixed. The service pack downloadable from Microsoft's
web site as of
June 16, 1998 works fine. The CD containing SP3, if it has part
number X03-50158 on the disc (the part number on the jacket is
probably different), also works fine.
Note, however, that regardless of the version of SP3, there are some
STL
bugs in SP3 which you should get corrected. Please see
http://www.dinkumware.com/vc_fixes.html
for details. Thank you to
Ben Eng
for the pointer to the STL fixes.
Right now there is a SP4 (and hopefully only one of them) which fixes a
deadlock problem in the STL.
We no longer actively support MSVC++ 5.x or earlier. ACE might work
with these compilers but probably not without a bit of effort.
- Uncompress the ACE distribution into a directory, where it will create a
ACE_wrappers directory containing the distribution. The ACE_wrappers
directory will be referred to as ACE_ROOT in the following steps -- so
ACE_ROOTace would be C:ACE_wrappersace if you uncompressed into the
root directory.
- Create a file called
config.h
in the ACE_ROOTace
directory that contains:
#include "ace/config-win32.h"
- Now load the workspace file for ACE (ACE_ROOTaceace.dsw).
- Each project will contain several different configurations. These
are a mixture of Debug/Release, MFC/Non-MFC, and Static/Dynamic
library versions.
Make sure you are building the one you'll use (for example, the
debug tests need the debug version of ACE, and so on). All these
different configurations are provided for your convenience. You
can either adopt the scheme to build your applications with
different configurations, or use
ace/config.h
to
tweak with the default settings on NT.
Note: If you
use the dynamic libraries, make sure you include ACE_ROOTlib
in your PATH whenever you run programs that uses ACE. Otherwise
you may experience problems finding ace.dll or aced.dll.
- If you are building for Windows NT 4 or later (Windows 2000, XP, etc.)
then you can start building without anymore changes. If you are building
on Windows 9x/Me, then you should add the line
#define ACE_HAS_WINNT4 0
before the #include statement in ACE_ROOTaceconfig.h and it
will turn off some WinNT/Win2K-specific code in ACE.
- If you want to use the standard C++ headers (iostream, cstdio, ...
as defined by the C++ Standard Draft 2) that comes with MSVC,
then add the line:
#define ACE_HAS_STANDARD_CPP_LIBRARY 1
before the #include statement in ACE_ROOTaceconfig.h.
- To use ACE with MFC libraries, also add the following to
your
config.h
file. Notice that if you want to
spawn a new thread with CWinThread, make sure you spawn the
thread with THR_USE_AFX flag set.
#define ACE_HAS_MFC 1
By default, all of the ACE projects use the DLL versions of the
MSVC run-time libraries. You can still choose use the static (LIB)
versions of ACE libraries regardless of run-time libraries. The
reason we chose to link only the dynamic run-time library is that
almost every NT box has these library installed and to save disk
space. If you prefer to link MFC as a static library into ACE, you
can do this by defining ACE_USES_STATIC_MFC
in your
config.h
file. However, if you would like to link
everything (including the MSVC run-time libraries) statically,
you'll need to modify the project files in ACE yourself.
- Static version of ACE libraries are build with
ACE_AS_STATIC_LIBS
defined. This macro should
also be used in application projects that link to static ACE
libraries
Optionally you can also add the line
#define ACE_NO_INLINE
before the #include statement in ACE_ROOTaceconfig.h to disable
inline function and reduce the size of static libraries (and your
executables.)
- ACE DLL and LIB naming scheme:
We use the following rules to name the DLL and LIB files in ACE
when using MSVC.
"Library/DLL name" + (Is static library ? "s" :
"") + (Is Debugging enable ? "d" : "")
+
More information for ACE/TAO on MSVC can be found
here. The doxygen version of this
document is available under Related Topics in the ACE Library.
ACE TESTS
The tests are located in ACE_ROOTtests. There is also a workspace in
that directory to build all the tests (tests.dsw)
Once you build all the tests (Batch Build works well for this), you
can run perl script run_test.pl
in the
tests
directory to try all the tests.
BUILDING ACE ON A WIN32 MACHINE THAT LACKS A NETWORK CARD
You may want to run ACE on a non-networked machine. To do so, you must
install TCP/IP and configure it to ignore the absence of a network
card. This is one method:
Run Control Panel
Choose Network from Control Panel
Add Adapter: MS Loopback Adapter
Configure MS Loopback Adapter with 802.3 (default)
Add Protocol: TCP/IP Protocol
Configure TCP/IP Protocol with a valid IP address and subnet mask.
Leave everything else at the default settings.
Add Service: Workstation
Exit and Restart System
Run Control Panel again
Choose Services from Control Panel
The following services are not necessary and may
be set to Disabled Startup:
Alerter
Computer Browser
Net logon
Messanger
Choose Network from Control Panel
Confirm the following setup. This is all you need to run ACE:
Installed Software:
Computer Browser
MS Loopback Adapter Driver
TCP/IP Protocol
Workstation
Installed Adapter Cards:
MS Loopback Adapter
原文转自:http://www.ltesting.net
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
|