versions: Cygwin CYGWIN_NT-5.1
ACE 5.5.1
g++ 3.4.4 (cygming special) (gdc 0.12, using dmd 0.125)
(cmake is available by cygwin project)
Before making ACE
- Get and decompress tar ball (e.g. /work/ACE_wrappers).
- Set an environment variable;
export $ACE_ROOT=/work/ACE_wrappers
- Create some symbolic links;
cd $ACE_ROOT/include/makeinclude
ln -s platform_cygwin32.GNU platform_macros.GNU
cd $ACE_ROOT/ace
ln -s config-cywin32.h config.h
Setting include path
Compiling ACE generates many errors by default of cygwin. It is because the preprocessor of g++ on cygwin behaved in a strange way. It regards the lines "signal.h" or so on in /usr/include/*.h files as the same name files in ACE.
Solution: To avoid this errors, you should export an environment variable like:
export CPLUS_INCLUDE_PATH=/usr/include:/usr/local/include:$CPLUS_INCLUDE_PATH
and
make
Then you can compile ACE without any errors. This issue is not declaired at the official homepage of ACE/TAO.
Local Installation
To install ACE to your cygwin,
cp -r $ACE_ROOT/ace /usr/local/include
cp $ACE_ROOT/lib/* /usr/local/lib
To tell your cygwin where is the ACE dynamic libraries,
export PATH=/usr/local/lib:$PATH"
cygwin cannot search the libraries without setting PATH variable properly. It's a specification of cygwin.
Additional step to test ACE:
cd $ACE_ROOT/tests
make
perl run_test.pl