I noticed a minor issue with your code
argv should be terminated with a 0, it could cause problems with some compilers.
The correct code should be:
Code:
int cl_argc = 4;
char* cl_argv[cl_argc + 1];
cl_argv[0] = (char*) "myapp";
cl_argv[1] = (char*) "--Ice.ACM.Client=4";
cl_argv[2] = (char*) "--Ice.Trace.Protocol=2";
cl_argv[3] = (char*) "--Ice.Trace.Network=3";
cl_argv[4] = 0;
Not sure if that is causing the problem you are seeing, actually i will prefer to not write code like that to initialize the communicator.
Code:
Ice::InitializationData initData;
initData.properties = Ice::createProperties();
initData.properties.setProperty("Ice.ACM.Client", 4);
....
Ice::CommunicatorPtr ic;
try
{
ic = Ice::initialize(initData);
}
catch (const Ice::Exception& ex)
{
...
}
What Ice version are you using?