|
楼主 |
发表于 2013-10-27 11:23:41
|
显示全部楼层
winston 发表于 2013-10-27 11:11
严格按照Using the Traditional ACE/GNU Configuration试试看。
Using the Traditional ACE/GNU Configuration
Here's what you need to do to build ACE using GNU Make and ACE's traditional per-platform configuration method:
Install GNU make 3.79.1 or greater on your system (available via http anonymous ftp from ftp.gnu.org in the pub/gnu/make/ directory). You must use GNU make when using ACE's traditional per-platform configuration method or ACE won't compile.
Add an environment variable called ACE_ROOT that contains the name of the root of the directory where you keep the ACE wrapper source tree. The ACE recursive Makefile scheme needs this information. There are several ways to set the ACE_ROOT variable. For example:
TSCH/CSH: setenv ACE_ROOT /home/cs/faculty/schmidt/ACE_wrappers
BASH or Bourne Shell: ACE_ROOT=/home/cs/faculty/schmidt/ACE_wrappers; export ACE_ROOT
If you're building a number of versions of ACE, however, (e.g., for different OS platforms or for different releases of ACE) you might use the following approach (assuming TCSH/CSH):
setenv ACE_ROOT $cwd
Create a configuration file, $ACE_ROOT/ace/config.h, that includes the appropriate platform/compiler-specific header configurations from the ACE source directory. For example:
#include "ace/config-linux.h"
The platform/compiler-specific configuration file contains the #defines that are used throughout ACE to indicate which features your system supports. See the $ACE_ROOT/ace/README file for a description of these macro settings. If you desire to add some site-specific or build-specific changes, you can add them to your config.h file; place them before the inclusion of the platform-specific header file.
There are config files for most versions of UNIX. If there isn't a version of this file that matches your platform/compiler, you'll need to make one. Please send email to the ace-users list if you get it working so it can be added to the master ACE release.
Create a build configuration file, $ACE_ROOT/include/makeinclude/platform_macros.GNU, that contains the appropriate platform/compiler-specific Makefile configurations, e.g.,
include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
This file contains the compiler and Makefile directives that are platform/compiler-specific. If you'd like to add make options, you can add them before including the platform-specific configuration.
NOTE! There really is not a # character before 'include' in the platform_macros.GNU file. # is a comment character.
If you wish to install ACE (using "make install"), set the installation prefix in platform_macros.GNU.
INSTALL_PREFIX = /usr/local
Headers will be installed to $INSTALL_PREFIX/include, executables to $INSTALL_PREFIX/bin, documentation and build system files to $INSTALL_PREFIX/share and libraries to $INSTALL_PREFIX/lib. The library directory can be customized by setting INSTALL_LIB (for example, INSTALL_LIB=lib64). With INSTALL_PREFIX set, RPATH will be enabled for all executables and shared libraries. To disable RPATH (for example, if $INSTALL_PREFIX/$INSTALL_LIB is already a system-known location for shared libraries such as those listed in /etc/ld.so.conf), set the make macro install_rpath to 0 by adding install_rpath=0 to platform_macros.GNU.
Note that because ACE builds shared libraries, you'll need to set LD_LIBRARY_PATH (or equivalent for your platform) to the directory where binary version of the ACE library is built into. For example, you probably want to do something like the following:
% setenv LD_LIBRARY_PATH $ACE_ROOT/lib:$LD_LIBRARY_PATH
When all this is done, hopefully all you'll need to do is type:
% make
at the ACE_ROOT directory. This will build the ACE library, tests, the examples, and the sample applications. Building the entire ACE release can take a long time and consume lots of disk space, however. Therefore, you might consider cd'ing into the $ACE_ROOT/ace directory and running make there to build just the ACE library. As a sanity check, you might also want to build and run the automated "one-button" tests in $ACE_ROOT/tests. Finally, if you're also planning on building TAO, you should build the gperf perfect hash function generator application in $ACE_ROOT/apps/gperf.
If you've set the INSTALL_PREFIX before building, now run
% make install
If you need to regenerate the ace/Svc_Conf_y.cpp file, you'll need to get GNU Bison. However, you should rarely, if ever, need to do this.
参考的是这一段.....
步骤也是按这个来的,唯一不同的是我用的链接文件config.h和platform_macros.GNU ,不过后来了我又生成了新文件,还是一样,的编译错误 |
|