Building and Installing ACE on Win32 with MinGW/ MSYS
Posted on 2010-06-29 15:17 Bill Yuan 阅读(1439) 评论(0) 编辑 收藏 举报
For our build we require the packages MinGW and MSYS.
- Install the MinGW tools into a common directory, say c:/mingw.
- Install the MSYS tools into a common directory, say c:/msys.
- Open a MSYS shell. Set your PATH environment variable so your MinGW's bin directory is first:
% export PATH=/c/mingw/bin:$PATH
- Add an ACE_ROOT environment variable pointing to the root of your ACE wrappers source tree:
From now on, we will refer to the root directory of the ACE source tree as $ACE_ROOT.% export ACE_ROOT=/c/work/mingw/ACE_wrappers
- Create a file called config.h in the $ACE_ROOT/ace directory that contains:
#include "ace/config-win32.h"
- Create a file called platform_macros.GNU in the $ACE_ROOT/include/makeinclude directory containing:
In the above text, don't replace $(ACE_ROOT) with the actual directory, GNU make will take the value from the environment variable you defined previously.include $(ACE_ROOT)/include/makeinclude/platform_mingw32.GNU
If you lack Winsock 2, add the line
before the previous one.winsock2 = 0
- In the MSYS shell, change to the $ACE_ROOT/ace directory and run make:
% cd $ACE_ROOT/ace % make
This should create libACE.dll (the Win32 shared library) and libACE.dll.a (the Win32 import library for the DLL). Note that the name for the ACE DLL follows the MinGW convention, which itself resembles UNIX.
If you want static libs also, you may run:
% make static_libs=1
- The same rules for Win32 search of DLLs apply for MinGW. If you want to run some ACE programs from the MSYS shell, you may need to add the directory for libACE.dll to your PATH:
% export PATH=/c/work/mingw/ACE_wrappers/ace:$PATH
// 得到文件libace.dll 于ACE_wrappers\lib中, 得到文件libace.dll.a 于ACE_wrappers\ace中.
ACEXML的单独编译:
% cd $ACE_ROOT/ACEXML
% make
完成后在ACE_wrappers\lib中得到libACEXML.dll和libACEXML_Parser.dll
在ACE_wrappers\ACEXML\common得到libACEXML.dll.a和libACEXML.dll , 在ACE_wrappers\ACEXML\parser\parser得到libACEXML_Parser.dll.a和libACEXML_Parser.dll
ssl单独编译:
% cd $ACE_ROOT/ace/ssl
% make ssl=1
需要安装openssl
% cd $ACE_ROOT/tests % make
Once you build all the tests, you can run run_tests.pl
in the tests
directory to try all the tests:
% perl run_test.pl
If you are using ACE as a DLL, you will need to modify your PATH variable as explained above.
You may want to check $ACE_ROOT/tests/README for the status of the various tests on MinGW and the different Windows flavors.