I'm having similar problems getting my icebox service to start successfully.
I'm running Windows 7 x64, using Visual Studio 2010 with ice plugin....
I set my path variable to only point to the \bin folder rather than to also include the 64-bit versions.
Visual studio successfully builds the .dll in either Release or Debug mode.
When I attempt to run iceboxd I get an error saying "The application has failed to start because its side-by-side configuration is incorrect", which I have no idea how to debug.
When I attempt to run with icebox.exe I get an access violation which seems to occur when the start method is invoked within the icebox service.
Here is the code defining the service:
Code:
void DataSourceSimService::start(const std::string& name, const Ice::CommunicatorPtr& communicator, const Ice::StringSeq& args){
std::cout << "starting data source sim service" <<std::endl;
_adapter = communicator->createObjectAdapter(name);
std::cout << "object adapter created" << std::endl;
Ice::ObjectPtr object = new QuoteServer::DataSourceSim();
std::cout << "dataSourceSim instantiated" <<std::endl;
_adapter->add(object, communicator->stringToIdentity("DataSourceSim"));
std::cout << "DataSourceSim object added to adapter" << std::endl;
_adapter->activate();
std::cout << "finished starting service";
}
void DataSourceSimService::stop(){
_adapter->deactivate();
}
//Based on example in manual
extern "C" {
DATASOURCESIM_API IceBox::Service*
create(Ice::CommunicatorPtr communicator){
return new DataSourceSimService;
}
}
Code:
#include <IceBox/IceBox.h>
#if defined(_WIN32) //Manual version only
# define DATASOURCESIM_API __declspec(dllexport)
#else
# define DATASOURCESIM_API
#endif
class DATASOURCESIM_API DataSourceSimService : public IceBox::Service{
public:
virtual void start(const std::string&, const Ice::CommunicatorPtr&, const Ice::StringSeq&);
virtual void stop();
private:
Ice::ObjectAdapterPtr _adapter;
};
Here is the output from icebox.exe:
Code:
starting data source sim service
-- 03/10/11 13:39:07.748 icebox-DataSourceSim: Network: accepting tcp connections at 0.0.0.0:9997
local interfaces: 192.168.1.110, 127.0.0.1
-- 03/10/11 13:39:07.769 icebox-DataSourceSim: Network: published endpoints for object adapter 'DataSourceSim':
tcp -h 192.168.1.110 -p 9997
object adapter created
dataSourceSim instantiated
So I'm not really sure where to go from here. Since I can't get the debug version to work I'm not sure how to debug this....Any help would be greatly appreciated.