现在的位置: 首页 > 综合 > 正文

搭建ACE-5.7.4+VS2008开发环境

2013年10月07日 ⁄ 综合 ⁄ 共 2316字 ⁄ 字号 评论关闭

1、下载安装Microsoft Visual Studio 2008,下载地址:http://www.microsoft.com/downloads/details.aspx?FamilyId=83C3A1EC-ED72-4A79-8961-25635DB0192B&displaylang=zh-cn,这个是“Visual
Studio 2008 专业版(90 天试用版)”。

 

     安装步骤略。

 

2、下载安装ACE-5.7.4,下载地址:http://download.dre.vanderbilt.edu/

 

3、环境变量中添加:%ACE_ROOT% = D:/ACE_wrappers_5.7.4

 

4、解压ACE-5.7.4.zip到%ACE_ROOT%(默认解压目录是ACE_wrappers)

 

5、在%ACE_ROOT%/ace目录下创建:config.h文件,添加:#include "ace/config-win32.h"

 

6、用VS2008打开:%ACE_ROOT%/ace/ace_vc9.sln

 

7、配置VS2008:工具->选项->项目和解决方案->VC++目录:

 

 

     添加以下配置:

           1)包含文件:$(ACE_ROOT)/ace

           2)引用文件:$(ACE_ROOT)/lib

           3)库文件:$(ACE_ROOT)/lib

           4)源文件:$(ACE_ROOT)/ace

 

8、执行:生成->生成解决方案,或F7,默认是Debug模式编译,也可以选择Release模式编译;

 

9、编译成功后,将在$(ACE_ROOT)/lib目录下生成

 

10、完毕!

 

 

 

验证开发环境

 

1、新建VS2008项目:Win32控制台应用程序

 

2、在项目属性页里配置环境变量:

 

 

3、添加以下配置:

           1)C/C++->常规->附加包含目录:$(ACE_ROOT)

           2)链接器->常规->附加库目录:$(ACE_ROOT)/lib

           3)链接器->输入->附加依赖项:ACEd.lib

 

4、编写ACE代码,编译程序

 

5、完毕

转帖:http://blog.csdn.net/ishow99/article/details/4835161

补充 :

在与MFC应用一起使用ACE(测试的ACE版本是6.1.2)的时候,加载的ACEd.dll库会出现内存泄露的情况,按照搜集的资料(其实自己也没去认真读ACE官方的开发文档),做如下配置:

1,在 MFC工程中使用ACE的时候,需要更改的地方:

上面的config.h的文件内容更改为(更改后当然要重新编译ACE的库):

#define ACE_HAS_STANDARD_CPP_LIBRARY 1
#define ACE_HAS_MFC 1
#include "ace/config-win32.h"

2,在MFC应用的初始化函数里面(例如基于对话框的APP::InitInstance()方法里面)添加:ACE::init();

3,在MFC应用的推出函数里面(例如基于对话框的APP::ExitInstance()方法里面)添加:ACE::fini();

4,ACE_WIN32_Proactor初始化失败(this->max_handle_ =  ACE_INVALID_HANDLE,在这句会中断执行,其实就是ACE_WIN32_Proactor对象创建(new)失败)的解决方法:

原帖:http://www.acejoy.com/thread-1016-1-1.html

作者(独来读网)在帖子的最后自己找到了解决方法;

因为FD_SETSIZE宏的问题。
请在stdafx.h的最开始的地方定义一下:
#define FD_SETSIZE 1024
注意:要与ACE_wrappers\ace\config-win32-common.h中定义的或者你自己定义的保持一致。

///////////////////////////////////////////////////////////////////////////////

编译报错LINK : fatal error LNK1000: Internal error during Incr的解决

Win7 旗舰版
Microsoft Visual Studio 2008 SP1 (VC++ 2008)

看文后,抱着试试看的想法,先走正统之路下补丁,结果:一样提示“此计算机上没有安装本软件更新支持的产品。单击“取消”退出安装程序。”

看来:补丁之路不通,若是这个编号VS90-KB948127的,大家就不要试了

以下为原文:

返回错误:LINK : fatal error LNK1000: Internal error during IncrBuildImage

解决措施:

项目->属性->链接器->常规   底下的“启用增量链接”,将“是(/INCREMENTAL)”改成“否(/INCREMENTAL:NO)”。
不过这又引入了另外一个警 告:FormatCom.obj : warning LNK4075: 忽略“/EDITANDCONTINUE”(由于“/INCREMENTAL:NO”规范)
选择项目,属性->配置属性 ->C/C++,修改“调试信息格式”为“程序数据库(/Zi)”即可。

到此问题解决,听说这是VC的一个内部BUG,可以下载KB948127补钉来解决,但我并没有能正常安装该补钉。安装补钉时提醒:未安装VS2008。稀罕。

下载补钉地址:http://code.msdn.microsoft.com/KB948127

抱歉!评论已关闭.