找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 5316|回复: 6

VS2008编译ACE5.7.5静态库怎么办?

[复制链接]
发表于 2010-2-2 19:51:19 | 显示全部楼层 |阅读模式
我首先在D:\ACE_wrappers\ace下的config.h写入
#ifndef CONFIG_H
#define CONFIG_H
#define ALL_WARNINGS 1                        
#define ACE_NO_INLINE                                       //禁止使用inline
#define ACE_HAS_STANDARD_CPP_LIBRARY 1        //使用标准的 c++ 头文件
#define ACE_AS_STATIC_LIBS                              //编译静态
#include "ace/config-win32.h"                               //win系统
#endif

然后用VS2008编译工程ACE_wrappers_vc9_Static.sln,调为Release版
在D:\ACE_wrappers\lib下生成两个LIB文件,

添加D:\ACE_wrappers\lib为系统环境变量,
新建工程,
#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;
}
在工程属性中,添加了头文件所在文件夹为D:\ACE_wrappers,静态库文件夹为D:\ACE_wrappers\lib,
并把那两个静态库文件添加为依敕库文件,为什么编译不过去呢,希望高手指点一二!


我的目的是,真接编译出与系统网络函数相关联的静态库,然后自己写DLL,为以后使用,这样使用应该会方便一些,不过却不成功,郁闷中!
 楼主| 发表于 2010-2-2 19:54:58 | 显示全部楼层
听说ACE_wrappers_vc9_Static.sln与ACE_vc9_Static.sln不一样,ACE_wrappers_vc9_Static.sln编译出来以后,是最基本的ACE静态库,ACE_vc9_Static.sln包括所有东东、范例、测试、某些扩展等等。


大家有什么指教吗,最好直接点出我不对的地方,谢谢了!
发表于 2010-2-3 13:45:13 | 显示全部楼层
打开工程,一看便知。
 楼主| 发表于 2010-2-5 19:18:28 | 显示全部楼层

回复 #3 winston 的帖子

好像不只打开看看这么简单吧,测试程序一直都编译不成功,有没有别的什么办法呢,请高手指点哈!
发表于 2010-2-21 22:16:17 | 显示全部楼层
因为你的头文件不会包含这个 config.h ,所以相关的宏在你自己的项目中仍然需要定义。在你自己的项目中加入 ACE_AS_STATIC_LIBS 这些宏即可使用静态ACE库了。
发表于 2010-3-2 06:15:35 | 显示全部楼层
#include "ace/config-win32.h"修改为#include "config-win32.h"。。。
发表于 2010-3-6 23:30:30 | 显示全部楼层

我帮你

不知道你报的是啥错误,是连接库的问题,还是说程序写的问题。
链接错误,就有可能是你库版本不对,你编译的是release版本的库,写程序,默认编译的可是debug版本的哦。

有问题发邮件
feili1985@126.com
我这几天没事干
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

Archiver|手机版|小黑屋|ACE Developer ( 京ICP备06055248号 )

GMT+8, 2024-11-22 17:55 , Processed in 0.013058 second(s), 5 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表