VS2005上使用ACE

原创 2007年09月26日 17:02:00
昨天在VS2005上编译了ACE,在ACE_Wrappers/lib下面得到了ACE.dll, ACE.lib, ACEd.dll,
ACEd.lib这些文件,环境变量和各种路径应该设置的没问题,编译了一个例子,结果出了很多两种风格的警告(这个程序在linux下面一点问题也没有,甚至没有警告,但现在公司要求要弄到windows上):
(1)
D:/ACE_wrappers/ace/OS_NS_string.inl(110) : warning C4996: 'strcat'
was declared deprecated
     C:/Program Files/Microsoft Visual Studio 8/VC/include
/string.h(78) : see declaration of 'strcat'
     Message: 'This function or variable may be unsafe. Consider using
strcat_s instead. To disable deprecation, use
_CRT_SECURE_NO_DEPRECATE. See online help for details.'
(2)
D:/ACE_wrappers/ace/OS_NS_string.inl(222) : warning C4996: 'strdup'
was declared deprecated
     C:/Program Files/Microsoft Visual Studio 8/VC/include
/string.h(205) : see declaration of 'strdup'
     Message: 'The POSIX name for this item is deprecated. Instead,
use the ISO C++ conformant name: _strdup. See online help for
details.'
经过我google,baidu,group请教,原来这两个警告是无害的。这两个警告都是暗示涉及的函数可能会出现缓冲溢出。2005的编译器比之前的都更加严格,针对缓冲溢出,做了不少改进,2005中的一些函数,如 sprintf都建议使用 sprintf_s一类的来进行缓冲区溢出的保护.这跟ACE中相关的实现有关系,但ACE中并没有处理这些问题。
还遇到一个问题,看见google上很多人遇到过,就是UNICODE和非UNICODE问题,这需要再编译ACE的之前,在config.h中定义:
#define ACE_USE_WCHAR
#define ACE_HAS_WCHAR
并且在主程序中,不能再使用int main(int, char*[])方式,必须使用int ACE_TMAIN(int, ACE_TCHAR*[])。如果一定要使用前者,那么一定要记得在main中调用ACE::init() 和ACE::fini(),否则就会出现一个很莫名其妙的问题。具体的原因可以参考APG中关于宽字符的讲解。

VS2005编译ACE

ACE的安装ACE的安装是一件比较麻烦的事情,这里简单的记录了我在VS2005下安装ACE的过程,希望能给大家一个参考。 安装环境: 操作系统:Windows XP 专业版 编译环境:VS2005中文...
  • sky04
  • sky04
  • 2011年01月04日 11:10
  • 1069

ACE在VS2005和linux编译

1 下载ACE http://download.dre.vanderbilt.edu/ 下载ACE-6.0.5.zip,解压到到E:\learn\GNU_source\目录下,生产一个文件夹E:\le...

ACE - Windows下VS2005编译使用ACE库(转)

ACE - Windows下VS2005编译使用ACE库1. 下载ACE库文件: ACE-5.8.zip 2. 解压缩到指定目录: E:\ACE_wrappers 3....
  • yghwe
  • yghwe
  • 2013年03月16日 16:30
  • 315

VS2005中使用Qt4.8.5遇到的问题

这两天项目组搭建了一个VS2005+Qt4.8.5的开发环境,在同事的机器上都已经搭建好了,并且编译,运行一切顺利。 如果是使用VS2008或者VS2010的话,Qt官方网站已经有了对应的编译好的Qt...
  • e5Max
  • e5Max
  • 2013年10月30日 17:45
  • 2895

C++开源矩阵计算工具——Eigen 在VS2005中的下载、配置与使用

1、  下载Eigen Eigen的官网下载地址:http://eigen.tuxfamily.org/index.php?title=Main_Page#Download 下载后的文件名为:ei...
  • hjx_1000
  • hjx_1000
  • 2013年01月07日 16:22
  • 18509

如何在Windows+VS2005使用最新静态libcurl 7.35.0获取网页数据,支持HTTPS

地址: http://blog.csdn.net/hujkay 作者:Jekkay Hu(34538980@qq.com) 关键词:Windows,curl,ssl,  visual c++ 2005...
  • hujkay
  • hujkay
  • 2014年02月18日 11:42
  • 3516

Windows环境下使用VS2005编译OpenSSL

准备工作: 下载OpenSSL源码  官方网站下载OpenSSL:http://www.openssl.org/source/ 安装ActivePerl     官方网站下载ActivePerl:...

使用VS2005中.rc资源的预编译处理代码

1 .rc文件在修改.rc中的资源时会重新生成 2 如果要在.rc文件中附加其他资源则需要修改预编译处理代码 3 预编译处理代码示例 #ifdef APSTUDIO_INVOKE...
  • mnorst
  • mnorst
  • 2012年02月15日 11:09
  • 2488

VS2005使用boost库教程

今天弄了一天,总结一下。 (1)Boost的下载 Boost库的下载,官网(www.boost.org),其中在windows下的安装教程网址在http://www.boost.org/doc/l...

Eigen: C++开源矩阵计算工具——Eigen 在VS2005中的下载、配置与使用

1、  下载Eigen Eigen的官网下载地址:http://eigen.tuxfamily.org/index.php?title=Main_Page#Download 下载后的文件名为:eige...
  • Augusdi
  • Augusdi
  • 2013年10月21日 11:48
  • 6889
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:VS2005上使用ACE
举报原因:
原因补充:

(最多只允许输入30个字)