ACE在windows下的编译及配置(VS2010)
ACE在windows下的编译及配置(VS2010)
系统:win7
开发环境:Visual Studio 10
ACE版本:ACE-6.2.0
参考了很多师兄师姐前辈阿姨的博客文章,然后自己安装后作为笔记记录下来。感谢这些经实践验证的、好博客文章。
(1) 下载ACE
ACE的下载地址:ACE官方主页下载,我下载当时最新的release版本。
(2) 创建ACE的配置文件
将下载得到的最新的ACE解压至C盘的根目录下[其它盘非根目录也是可以的],在C:/ACE_wrappers/ace目录下创建一个名为“config”的“头文件”[此文件的创建可由VS2010创建另存到指定目录,直接用记事本创建“config.h”文本文件,在程序编译时不能正确读取其内容]。在config.h文件中输入以下内容:
|
#define ACE_HAS_STANDARD_CPP_LIBRARY 1 #include "ace/config-win32.h" |
保存后退出。[ 关于此config.h配置文件的内容可查阅资料,看对应的语句表示什么含义]。
(3) 编译ACE库
用VS2010打开C:/ACE_wrappers/ace/ace_vc10.sln[ VS2010对应的版本,9是用VS2008打开的 ],等VS加载完毕后[即VS2010的左下角呈现Ready状态后 ]点击build ACE项目。等待ACE的完全编译,当VS2010左下角呈现buildsuccess状态时表示编译完成。最好编译debug及release两个版本。编译完成后,就可以在C:/ACE_wrappers/lib下看到众多的文件,其中ACEd.dll和ACEd.lib是在debug下要用到的文件,"ACE.dll"和"ACE.lib"是release下要用的文件。
(4) 可为ACE目录设置环境变量
为ACE目录设置环境变量的目的是因为配置VS2010 ACE时比较方便,因为当已经编译好的ACE目录发生改变时,只需要修改环境变量的值即可,不用再修改VS2010的配置。为ACE目录设置环境变量的步骤如下:
我的电脑——>属性——>高级选项卡——>环境变量按钮,用户变量组里新建,变量名:ACE_ROOT,变量值:C:/ACE_wrappers [ ACE目录发生变化时这个值可以改变]。
编辑变量名Path,添加:%ACE_ROOT%\bin;%ACE_ROOT%\lib。
(5) VS2010 ACE配置
选中在VS2010中的项目名[如解决方案[ Solution Explorer ]下的项目名],然后右键-->属性[ properties ]--> VC++Directories,在对应目录下“增加”以下内容:
可执行文件(Executablefiles):添加$(ACE_ROOT)\bin
包含文件(Include files):添加$(ACE_ROOT)
库文件(Library files):添加$(ACE_ROOT)\lib
(6) 测试操作是否成功
在VS2010下创建一个空的控制台程序,在编写以下代码:
- #include "stdafx.h"
- #include "ace/Log_Msg.h"
- int _tmain(int argc, _TCHAR* argv[])
- {
- ACE_TRACE(ACE_TEXT ("main"));
- ACE_DEBUG ((LM_INFO, ACE_TEXT ("Hello world/n")));
- getchar();
- return 0;
- }
#include "stdafx.h"
#include "ace/Log_Msg.h" int _tmain(int argc, _TCHAR* argv[])
{ ACE_TRACE(ACE_TEXT ("main"));
ACE_DEBUG ((LM_INFO, ACE_TEXT ("Hello world/n")));
getchar();
return 0;
}
在解决方案[ Solution Explorer ]中选中项目右键-->Add-->Add Existing Item,在弹出的选文件的对话框中到ACE的安装目录下的lib中将ACEd.lib添加进项目中。如果出现提示无ACEd.dll的错误,则将ACE安装目录下lib中的ACEd.dll复制到当前程序的debug文件夹下。如果运行结果如下:Project properties -> C/C++ / Preprocessor / Preprocessor Definitions 添加WIN32
Figure1:ACE HelloWorld程序运行结果
表面ACE+VS2010编译及配置成功。
ACE在windows下的编译及配置(VS2010)的更多相关文章
- windows下hla编译环境配置(转)_1
原文地址:http://blog.chinaunix.net/uid-20548989-id-1667169.html HLA简介 HLA,英文"High Level Ass ...
- windows下hla编译环境配置(转)
原文地址:http://blog.chinaunix.net/uid-20548989-id-1667169.html HLA简介 HLA,英文"High Level Ass ...
- 【FFmpeg】Windows下FFmpeg编译
由于FFmpeg是基于Linux开发的开源项目,源代码和Windows下最常见的Visual Studio提供的C/C++编译器不兼容,因此它不能使用MSVC++编译,需要在Windows下配置一个类 ...
- 【Objective-C】Windows下Objective-C开发环境配置
[Objective-C]Windows下Objective-C开发环境配置 ftp://ftpmain.gnustep.org/pub/gnustep/binaries/windows/ 最近打 ...
- Mysql在windows下的免安装配置步骤和重新安装的步骤
windows下mysql免安装配置 1. 下载mysql免安装压缩包 下载mysql-5.6.22-winx64.zip 解压到本地D:\mysql-5.6.22-winx64 2. 修改配置文件 ...
- windows下spark开发环境配置
http://www.cnblogs.com/davidwang456/p/5032766.html windows下spark开发环境配置 --本篇随笔由同事葛同学提供. windows下spark ...
- [转]QGis2.9在windows下的编译以及二次开发包下载
今天心血来潮,将QGis在github上的代码更新后,又编译了一下.留意到源代码包里面的INSTALL文件有更新,于是本次编译完全基于官方的编译说明.编译过程非常顺利,除了在CMake的第一次conf ...
- Windows下PythonQt编译(vs2015+Qt5.11.2+PythonQt 3.2)
后记: 由于自己low,没有下载罪行的python3.2导致编译上遇到种种问题,后文可以参考,建议看: <Windows7 VS2015 下编译 PythonQt3.2> https:// ...
- Windows下PythonQt编译(vs2015+Qt5.11.2+PythonQt 3.2)探索
时间:2018年10月20日 笔者最近在做Qt方面的开发工作,需用到脚本程序对程序内部进行扩展,就很自然的想到了PythonQt,下面介绍PythonQt在Windows下的的安装编译心得,水平有限, ...
随机推荐
- Oracle_where子句
Oracle_where子句 --1.查询员工名为'SMITH'的信息 select * from emp where ename = 'SMITH'; --2.查询在1980/12/17入职的员 ...
- C#编写影院售票系统(A project with a higher amount of gold )
项目需求: 影院售票系统 1.基础设施 放映厅 座位集合 2.一个海报------------>放映计划 3.售票设置----------->观影 领域模型:程序中提炼出的实体 4.从电影 ...
- Python3基础知识之元组、集合、字典
1.元组 元组特点元组是不可变的两个元组可以做加法,不能做减法 元组的方法 >>> S('a', 'b', 'c', 'd', 'e')>>> S=('a','b' ...
- React源码解析:setState
先来几个例子热热身: ......... constructor(props){ super(props); this.state = { index: 0 } } componentDidMount ...
- docker结合jenkins、gitlab实现.netcore的持续集成实践
本文的目标是实现下图基于ASP NET Core的实践 运行环境 Cent OS 7 vs code .net core cmder 运行docker,设置docker镜像加速器,不然国内下载imag ...
- shell 实现主板测试
初接触shell,只能需要用到什么功能现学先用了.本文总结一下完成测试程序当中遇到的技巧和问题. 01. 变量生存期的问题,在函数中的变量无法在其他地方使用,在函数中只能使用在函数前定义的全局变量: ...
- SpringAOP简单入门
注解形式 步骤一.定义一个interface public interface ArithmeticCalculator { double plus(int i, int j); double sub ...
- Django_MTV视图
WEB服务请求流程? 用户请求通过url,url带着用户的用户信息封装成request,然后服务器收到url请求,激活获取url中带来的request,服务器处理request逻辑后,返回封装好的re ...
- iterator_category
/* * 迭代器类型 * 1. input ierator * 2. write iterator * 3. forward iterator 在迭代器所形成的区间上进行读写操作 * 4. bidir ...
- 流API--流的映射
很多时候,将一个流的元素映射到另外一个流很有帮助.映射操作最具代表的就是map()方法.实际编码中,我们会经常用到,所以这里专门整理一篇博客. 考虑如下情景,对于一个包含了姓名,电话,年龄等属性构成的 ...