04053093 发表于 2009-7-24 14:32:50

ACE VC9.0安装心得

VC9+ACE5.7 安装心得
1.
将ACE-5.7.zip解压到所需的安装目录,此处以E:\为例,解压后形成ACE_wrappers文件夹,因此ACE将会存在于ACE_wrappers\ace目录中。
2.
在E:\ACE_wrappers\ace目录中创建一个头文件,命名为config.h,其内容为:
#include "ace/config-win32.h"(必选项)
#define ACE_HAS_STANDARD_CPP_LIBRARY 1 (MSVC自带的标准C++头文件)
#define ACE_HAS_MFC 1(与MFC一起使用)
#define ACE_NO_INLINE(取消函数内联从而减小静态库和运行码的大小)
#define ACE_AS_STATIC_LIBS(构建ACE的静态版本)
#define ACE_HAS_WINNT4 0(在Windows 9x/me上构建所需,在ACE中移掉一些WinNT/Win2K中特有的代码)
以上只需要添加前两项就可以了。
3.
现在使用VC9.0打开E:\ ACE_wrappers下的ace.sln,打开解决方案后,可以像你做其它开发一样,选择重新生成解决方案,接下来我们就不必再做任何操作。经过漫长的等待最后我们会在lib目录下生成ace所需要使用的lib,dll等文件。生成的dll文件要放在bin文件夹中,否则在运行程序的时候碰到寻找ace.dll或者aced.dll的问题。同样打开ace_static.sln编译生成ACEs.lib、 ACEsd.lib、ACE_RMCasts.lib、ACE_RMCastsd.lib、TMCasts.lib、TMCastsd.lib。至此在Windows上Build ACE的过程就基本结束了。
4.
配置ACE环境。打开VC++6.0,选择Tools->Options->Directories 加入以下内容:
1) Executable File:E:\ACE_wrappers\bin
2) Include File:E:\ACE_wrappers
3) Library Files:E:\ACE_wrappers\lib
4) Source Files:E:\ACE_wrappers
5.
在系统环境的变量 path中加入E:\ACE_wrappers\bin,否则在运行程序的时候碰到寻找ace.dll或者aced.dll的问题。
6.
在编译程序时,在项目属性->C\C++/处理器/预处理器定义中加加WIN32。否则会出现“Please
define
WIN32
in
your
project
settings.”的错误。把外部 lib文件在项目属性里面引入,打开 项目属性->链接器->命令行->附加选项 加入了 .lib 再编译,pass 。否则会出现“无法解析的外部符号”的错误。
7.
编译时会遇到“error: “ACE_ERROR_RETURN”: 找不到标识符”的问题,这时需加入头文件,根据提示去ace文件夹下搜索相关头文件即可。
8.
LINK时报错:无法打开文件“E;\ACE_wrappers\lib\ACE.lib”,配置属性->链接器->常规->附加依赖项里加上ACE.lib所在的目录;输入—>添加附加项添加ACE.Lib

ep4947 发表于 2010-2-7 09:22:31

回复 #1 04053093 的帖子

用VS2008编译ACE_wrappers_vc9_Static.sln生成的静态库,在工程属性中,添加了头文件所在文件夹为D:\ACE_wrappers,静态库文件夹为D:\ACE_wrappers\lib,并把那两个静态库文件添加为依敕库文件,然后在VS2008中测式以下程序,
#include "ace/OS.h"
#include "ace/Log_Msg.h"
int main (int argc, char *argv[])
{
          ACE_DEBUG((LM_DEBUG,"Hello, ACE! "));
          ACE_OS::exit(1);
          return 0;
}
编译不过去,希望您能指出我的错误,谢谢了!

earthdog 发表于 2010-7-13 21:33:29

int main (int argc, char *argv[])

应该是这行,使用ACE的话,请使用

int ACE_TMAIN(int argc, ACE_TCHAR *argv[])

具体的错误还是要看你的编译错误。
页: [1]
查看完整版本: ACE VC9.0安装心得