ice编译出错? 400 报错
我在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
我不知道出现什么问题,还请高手指点!不甚感激!
会不会是对应的print.ice中没有这个方法啊。
######会不会是对应的print.ice中没有这个方法啊。
应该有的,我已经在控制台上用printer.ice文件生成了printer.cpp和printer.h文件!而且我也在那个类中找到了相关文件,就是编译时找不到,不知道哪出问题了?
######你的ICE接口文件定义的不对。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。