ice编译出错

发布于 2021-11-08 13:53:21 字数 2192 浏览 890 评论 1

我在ubuntu下用eclipse环境来编译ice,我只是用了简单的客户端代码如下:

#include <Ice/Ice.h>
    #include <Printer.h>

    using namespace std;
    using namespace Demo;
   int main(int argc, char* argv[])
 {
    Ice::CommunicatorPtr ic;
    try{
         // 初始化Ice运行库
         ic = Ice::initialize(argc, argv);
        // 在10000端口取得 SimplePrinter代理对象
         Ice::ObjectPrx base = ic->stringToProxy("SimplePrinter:default -p 10000");
         // 把对象转换成Printer 代理
        PrinterPrx printer =  PrinterPrx::checkedCast(base);
           if(!printer) throw "Invalid Proxy!";
         // 能用这个代码调用printString方法
          printer-> printString ("Hello World!");
       }
     catch(const Ice::Exception &e)
     {
        cerr << e << endl;
     }
      catch(const char* msg){
         cerr << msg << endl;
     }
      // 回收Ice运行库所用的资源
     if(ic) ic->destroy();
  
 }

 

可是却有错,编译不过,错误如下:

make all
Building file: ../Client.cpp
Invoking: GCC C++ Compiler
g++ -I/home/shenxinyue -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"Client.d" -MT"Client.d" -o"Client.o" "../Client.cpp"
../Client.cpp: In function ‘int main(int, char**)’:
../Client.cpp:18: error: ‘class IceProxy::Demo::Printer’ has no member named ‘printString’
make: *** [Client.o] 错误 1

 

我不知道出现什么问题,还请高手指点!不甚感激!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

离不开的别离 2021-11-10 10:15:56

会不会是对应的print.ice中没有这个方法啊。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文