基于ACE网络编程配置
来源:互联网 发布:python sys 用法 编辑:程序博客网 时间:2024/06/09 20:17
最近由于公司用到ACE,所以自己学着用ACE来实现类似于socket网络编程的功能。但当我写服务器端的时候就遇到了大麻烦,由于我是用ACE库导入的,所以不
断的会提示如下错误:
ACE_SERVER error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: int __thiscall SVACE_5_6_0::ACE_Main_Base::run(int,char * * const)" (__imp_?run@ACE_Main_Base@SVACE_5_6_0@@QAEHHQAPAD@Z) ,该符号在函数 _main 中被引用。我用的编译环境是vs2003的,后来我转到vs2010下后编译就可以
通过,但运行的时候端口还是不能绑定。最后问了我的师傅才最后搞定。主要问题ACE中的lib库也是要编译生成的,而编译生成的工具要与你后期开发时的编译工具是
相同版本的,后来自己去网上下了个ACE5.5的,然后自己编译来生成库。下面我主要把ACE如何配置运行来说明一下。当然也借鉴了网上很多知识,而且我这个配置比较
简介,如果还是不能运行,请点击http://www.cnblogs.com/xianqingzh/archive/2011/11/29/2267400.html。
ACE配置运行:
1.下载安装包:http://download.dre.vanderbilt.edu/,只需要下载ACE-5.5.zip即可。
2.下载完后解压路径,我这里是F:\ACE-5.5\ACE_wrappers。
3.设置环境变量(这个必须设置,我这里直接编译运行之后会报无法解析的错误)
用户变量 ACE_ROOT为F:\ACE-5.5\ACE_wrappers,然后再添加Path环境变量,值为%ACE_ROOT%\lib
4.编译ace文件夹中的ace_vc8.sln,然后在lib中就会生成ACEd.lib与ACEd.dll两个库文件
综上你就可以使用ACE库与ace文件夹中的头文件了,我在配置中还是遇到一些错误的。
比如 无法从“int”转换为“ACE_THR_FUNC_RETURN”,我的解决方法是直接删除reinterpret_cast,这个强制转换也许跟版本有关吧。
还有一个是编译正常,但无法运行,最后发现ACE库与ace文件夹不是同一个版本,即ACE库不是这个ace文件夹所编译生成的
到这里我想你应该可与使用你所生成的ACE库来开发程序了,如果还不行,
请点击http://www.cnblogs.com/xianqingzh/archive/2011/11/29/2267400.html
- 基于ACE网络编程配置
- 基于ACE的网络服务端通讯编程
- 基于ACE的网络服务端通讯编程
- ace网络编程参考
- ACE网络编程模式
- ACE网络编程开发
- ACE网络编程
- ACE网络编程 --ACE库入门:中篇-ACE程序员教程
- 使用ACE进行网络编程
- 使用ACE进行网络编程
- 使用ACE进行网络编程
- ACE网络编程模式比较
- 使用ACE进行网络编程
- ACE网络编程模式比较
- ACE的Socket网络编程
- ACE网络编程开发网
- ACE网络编程模式比较
- 基于ACE应用编程框架——线程池 - [ACE]
- iOS官方Sample大全
- Apache无法启动
- jsp路径深入研究<转载>
- Linux软连接和硬链接
- linux升级笔记,ATI闭源显卡驱动,解决发热问题
- 基于ACE网络编程配置
- VBScript在服务器上创建目录
- VMware中安装了Ubuntu 11.04 破解密码
- 判断网络状态 (在2G,3G,WIFI下测试均通过)
- Linux从Ftp上下载最新文件,并保存到指定目录(实现有点2--)
- about EThread
- Mountain Lion(美洲狮)谣言终极盘点
- 常用的正则表达式
- HDU 1113