急!请教!icestorm的实例实现,出现了问题!
icestorm 手册中有个实例。我在实现过程中出现了问题!
首先定义了Monitor.ice文件:
module rpt{
struct Measurement
{
string tower; // tower id
float windSpeed; // knots
short windDirection; // degrees
float temperature; // degrees Celsius
};
interface Monitor {
void report(Measurement m);
};
};
在实现发布订阅时:
#include <Ice/Ice.h>
#include<IceStorm/IceStorm.h>
#include "Monitor.h"
using namespace std;
using namespace rpt;
int main(int argc,char* argv[])
{
Ice::CommunicatorPtr ic;
Ice::ObjectPrx obj =ic->stringToProxy("IceStorm/TopicManager:tcp -p 999");
IceStorm::TopicManagerPrx topicManager =IceStorm::TopicManagerPrx::checkedCast(obj);
IceStorm::TopicPrx topic ;
while (!topic){
try{
topic=topicManager->retrieve("Weather");
}catch(const IceStorm::NoSuchTopic&){
try {
topic = topicManager->create("Weather");
} catch (const IceStorm::TopicExists&){
}
}
}
Ice::ObjectPrx pub = topic->getPublisher()->ice_oneway();
MonitorPrx Monitor = MonitorPrx::uncheckedCast(pub);
while (true) {
/* Measurement m = getMeasurement();*/
Measurement m ;
Monitor->report(m);}
}
运行库已经添加了:C:Program FilesZeroCIce-3.4.1lib加入到了库文件目录了。
出现了一大推链接错误,令人费解!请高手赐教!!
client.obj : error LNK2019: 无法解析的外部符号 "class IceProxy::Ice::Object * __cdecl IceInternal::upCast(class IceProxy::rpt::Monitor *)" (?upCast@IceInternal@@YAPAVObject@Ice@IceProxy@@PAVMonitor@rpt@4@@Z),该符号在函数 "public: __thiscall IceInternal::ProxyHandle<class IceProxy::rpt::Monitor>::~ProxyHandle<class IceProxy::rpt::Monitor>(void)" (??1?$ProxyHandle@VMonitor@rpt@IceProxy@@@IceInternal@@QAE@XZ) 中被引用
1>client.obj : error LNK2001: 无法解析的外部符号 "private: virtual class IceInternal::Handle<class IceDelegateM::Ice::Object> __thiscall IceProxy::rpt::Monitor::__createDelegateM(void)" (?__createDelegateM@Monitor@rpt@IceProxy@@EAE?AV?$Handle@VObject@Ice@IceDelegateM@@@IceInternal@@XZ)
1>client.obj : error LNK2001: 无法解析的外部符号 "private: virtual class IceInternal::Handle<class IceDelegateD::Ice::Object> __thiscall IceProxy::rpt::Monitor::__createDelegateD(void)" (?__createDelegateD@Monitor@rpt@IceProxy@@EAE?AV?$Handle@VObject@Ice@IceDelegateD@@@IceInternal@@XZ)
1>client.obj : error LNK2001: 无法解析的外部符号 "private: virtual class IceProxy::Ice::Object * __thiscall IceProxy::rpt::Monitor::__newInstance(void)const " (?__newInstance@Monitor@rpt@IceProxy@@EBEPAVObject@Ice@3@XZ)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
问题已经解决了。。。。
原来是头文件没有加进去。。。。。。。