ICE在windows开发linux服务,IceStorm在windows下的编译

IceStorm在Windows下的编译。

昨晚在Ubuntu64下编译IceStorm,通过。但Ice本身并不是编译的,而是直接安装的,为3.3版,而源码为3.4.2版。可能是这个原因,在执行IceBox时报错。晚上搜了搜,看zeroc论坛里的回答,修改配置文件可以解决,或者我再下载对应的版本试试。

今晚改在windows再试。

单独下载源码包,手机网络,每秒10KB左右。

单独把Icestorm的程序复制出来,创建两个空win32控制台项目,将Clock.ice加到资源文件里,自定义生成规则:slice2cpp

Clock.ice,生成文件:Clock.h Clock.cpp.

头文件:Clock.h,源文件:Publisher.cpp Clock.cpp

包含路径:C:\Program Files\ZeroC\Ice-3.4.2\include;.

注意那个点也是必须的,不然不搜索本地目录。

在链接器-〉常规中,增加附加库目录:C:\Program Files\ZeroC\Ice-3.4.2\lib

在链接器-〉输入-〉附加依赖库中,增加:ice.lib icestorm.lib iceutil.lib

(在Linux下好象不需要iceutil.lib)

然后就可以编译通过了。启动icebox也没有报错,但执行subsciber时,报该内存不能为read错误。难道是机器中毒了,需要用其他机器试试。执行publisher时立即退出到命令行,总之还不算成功。

ICE-3.7.4 最新安装文件msi文件,windowsICE常见报错 Exception in thread Ice.ConnectionRefusedException error = 0 at IceInternal.Network.doFinishConnect(Network.java:417) at IceInternal.TcpTransceiver.initialize(TcpTransceiver.java:33) at Ice.ConnectionI.initialize(ConnectionI.java:1536) at Ice.ConnectionI.socketReady(ConnectionI.java:1116) at Ice.ConnectionI$SocketReadyCallback.socketReady(ConnectionI.java:2299) at IceInternal.SelectorThread.run(SelectorThread.java:203) at IceInternal.SelectorThread$HelperThread.run(SelectorThread.java:273) Caused by: java.net.ConnectException: Connection refused at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:574) at IceInternal.Network.doFinishConnect(Network.java:393) ... 6 more 这种报错是ICE服务端没有起来,telnet服务ICE的端口不通,无法建立socke 原帖地址:http://blog.csdn.net/zhenjing/archive/2009/09/10/4538705.aspx ICE常见编译和运行(异常)错误 收藏 在编译Ice应用相关的文件中,经常因为ice相关的文件包含关系而导致编译无法通过,此时的错误一般提示和handle.h相关。然而想要解决这样的错误,一般只需要把在无法编译成.o文件的.cpp文件中和ice文件相关的头文件放在该.cpp文件的起始行即可。也就是说,根据提示,把.cpp文件中最早提示导致出错的.h文件放在起始行。 ICE的常见运行错误(异常): 1 使用的地址错误,IP并非本地IP: 发生在初始化服务器时,没办法初始化adapter. 错误信息: (IP错误) ./test: Network.cpp:475: Ice::SocketException: socket exception: Cannot assign requestedaddress 另外: 已经启动服务器后又重新启动: 发生在初始化服务器时,没办法初始化adapter. 错误信息: (port已经被使用) ./server: Network.cpp:475:Ice::SocketException: socket exception: Address already in use ///stringtoProxy对于任何string都是有效的,均可以生成相应代理,但是该代理是否有效是无法保证的. 如果代理无效,也就是说根本就没有这样的adapter或者对象,那么使用Checkcast或直接用该代理调用相应对象接口均会抛异常. 下面对每种情况加于分析. 2 使用的代理IP错误: 发生在使用代理调用接口的时候 原因: 根本就没有相应的通讯器存在. 错误信息: (使用的代理IP错误) 抛出异常: Ice::ConnectFailedException(需要几秒, 需要进行搜索) 3 使用的代理端口错误,两边不一致 : 发生在使用代理调用接口的时候 原因: 存在通讯器,但是不存在相应的对象适配器. 错误信息: 抛出异常: Ice::ConnectionRefusedException(很快, 端口没有被启用引起的,无人监听该端口) 4 使用的对象名字不正确: 发生在使用代理调用接口的时候 原因: 能够找到相应的对象适配器,但是该对象适配器中无法找到相应的对象 错误信息: 抛出异常: Ice::ObjectNotExistException(很
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值