云龙九现 2013-10-17 08:42 采纳率: 0%
浏览 3624

Slice2cpp编译的报头文件无法打开的错误

最近学习Ice,使用的是Ice3.4.2。在Ice用户手册的IceGrid那一节。有个Ripper的范例。其Slice文件如下:

module Ripper{
exception EncodingFialedException
{
string reason;
};

sequence Samples;

interface Mp3Encoder
{
Ice::ByteSeq encode(Samples leftSamples,Samples rightSamples)
throws EncodingFailedException;

     Ice::ByteSeq flush()
     throws EncodingFailedException;

};

interface Mp3EncoderFactory
{
Mp3Encoder* createEncoder();
};

};

我将其在cmd窗口运行
slice2cpp Ripper.ice
后出现Ice::ByteSeq错误的提示

通过访问ZeroC的官网,发现前面需要添加头文件
#include

我按照官网的说明做了改进。修改后的Slice文件如下:

#include <Ice/BuiltinSequences.ice>

module Ripper{
exception EncodingFialedException
{
string reason;
};

sequence Samples;

interface Mp3Encoder
{
Ice::ByteSeq encode(Samples leftSamples,Samples rightSamples)
throws EncodingFailedException;

 Ice::ByteSeq flush()
     throws EncodingFailedException;

};

interface Mp3EncoderFactory
{
Mp3Encoder* createEncoder();
};

};

再在cmd命令下运行,仍然出现can not open "Ice/BuiltinSequences.ice"文件的错误提示。

通过查找,有人说需要使用slice2cpp -I命令,将其添加到文件搜索目录里。我也试过,但还是不行。哪位达人可以帮帮我?

感激不尽

  • 写回答

1条回答

  • 闲人hzx 2015-07-09 07:41
    关注

    我也遇到了,解决方法如下:
    ICE版本:ice3.6.0
    待编译slice: callback.ice
    slice2cpp在文件夹ZeroC\ice3.6.0\bin中
    我在ZeroC\ice.3.6.0目录下运行指令
    bin\slice2cpp -I. -Islice bin\callback.ice
    生产的callback.h和callback.cpp文件在文件目录ZeroC\ice3.6.0下

    评论

报告相同问题?

悬赏问题

  • ¥15 易盾点选的cb参数怎么解啊
  • ¥15 MATLAB运行显示错误,如何解决?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 UE5#if WITH_EDITOR导致打包的功能不可用
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题
  • ¥20 yolov5自定义Prune报错,如何解决?
  • ¥15 电磁场的matlab仿真
  • ¥15 mars2d在vue3中的引入问题
  • ¥50 h5唤醒支付宝并跳转至向小荷包转账界面