Home Help Center

Slice2cpp question


I have two slice class-definitions. In class1 I include the ice-file of the second class. This definition looks like the following:

#include "Class1.ice"

class Class2

I compile the definition-files with the following syntax:

slice2cpp Class1.ice --header-ext hxx --source-ext cxx
slice2cpp Class2.ice --header-ext hxx --source-ext cxx

The problem lies in the generated header file of class2:

// Ice version 1.2.0
// Generated from file `Class2.ice'

#include <Ice/LocalObjectF.h>
#include <Ice/ProxyF.h>
#include <Ice/Direct.h>
#include <Class1.h> --> this should be <Class1.hxx>

What can I do to avoid changing the generated header file manually everytime I ran slice2cpp?

Thanks in advance.


  • mesmes CaliforniaAdministrators, ZeroC Staff Mark SpruiellOrganization: ZeroC, Inc.Project: Ice Developer ZeroC Staff

    This is a known bug which has been fixed for the next release. You can fix it easily by editing src/slice2cpp/Gen.cpp and changing line 227 from the following:
          H << "\n#include <" << changeInclude(*q, _includePaths) << ".h>";
    to this:
          H << "\n#include <" << changeInclude(*q, _includePaths) << "." << _headerExtension << ">";
    Then rebuild the translator.

    Take care,
    - Mark
Sign In or Register to comment.