[SOLVED] can I use multiple classes in a interrogate lib?

The header file which I pass as input to interrogate, looks like:

#include "Class1.h"
#include "Class2.h"

When I run interrogate with it, it compiles and binds only the first include (in this case, Class1). When I switch the includes, it still includes only the first include (in this case, Class2). Is it possible to have multiple classes in one library? And how do I manage it?

Thanks in advance
Tobias

Huh, I don’t see any reason why Interrogate would only pick up the first one. Could you perhaps show us the class files? Does it work if you pass the Class1.h and Class2.h headers directly to the interrogate command instead of through an intermediate header?

One of the class files:

#ifndef CHUNKGENERATOR_H
#define CHUNKGENERATOR_H

#include "stdafx.h"

#include "GeomVertexFormat.h"
#include "GeomVertexData.h"
#include "Geom.h"
#include "LVecBase3.h"

class EXPCL_PANDASKEL ChunkGenerator
{
PUBLISHED:

	ChunkGenerator(void);
	~ChunkGenerator(void);

	static void generateChunk(LVecBase3 *vec);

};

#endif

My Interrogate command is:

interrogate -v -D__inline -DCPPPARSER -DP3_INTERROGATE=1 -D__cplusplus -string -refcount -SD:\Programme\Panda3D-1.8.1\include\parser-inc -SD:\Programme\Panda3D-1.8.1-\include -ID:\Programme\Panda3D-1.8.1\include -fnames -oc BrainzCore_igate.cxx -od BrainzCore.in -python-native -module BrainzCore -library BrainzCore -Dvolatile= BrainzCore_content.h
interrogate_module -python-native -module BrainzCore -library BrainzCore -oc BrainzCore_module.cxx BrainzCore.in

When I pass the 2 classes directly, it will compile only the first class, too:

Interrogate
Reading Terrain.h
  Reading stdafx.h
    Reading targetver.h
    Reading /d/Programme/Panda3D-1.8.1/include/dtool_config.h
    Reading /d/Programme/Panda3D-1.8.1/include/pandabase.h
      Reading /d/Programme/Panda3D-1.8.1/include/dtoolbase.h
        Reading /d/Programme/Panda3D-1.8.1/include/dtool_config.h
        *** Warning in /d/Programme/Panda3D-1.8.1/include/dtoolbase.h near line 67, column 2:
        Ignoring invalid expression _MSC_VER >= 1300
        Reading /d/Programme/Panda3D-1.8.1/include/parser-inc/pyconfig.h
        Reading /d/Programme/Panda3D-1.8.1/include/dtoolsymbols.h
        *** Warning in /d/Programme/Panda3D-1.8.1/include/dtoolbase.h near line 128, column 2:
        Cannot find assert.h
        *** Warning in /d/Programme/Panda3D-1.8.1/include/dtoolbase.h near line 131, column 2:
        Cannot find signal.h
        *** Warning in /d/Programme/Panda3D-1.8.1/include/dtoolbase.h near line 145, column 2:
        Cannot find sys/types.h
        Reading /d/Programme/Panda3D-1.8.1/include/parser-inc/malloc.h
        *** Warning in /d/Programme/Panda3D-1.8.1/include/dtoolbase.h near line 165, column 2:
        Cannot find io.h
        *** Warning in /d/Programme/Panda3D-1.8.1/include/dtoolbase.h near line 185, column 2:
        Cannot find minmax.h
        Reading /d/Programme/Panda3D-1.8.1/include/parser-inc/stdtypedefs.h
        Reading /d/Programme/Panda3D-1.8.1/include/dtoolbase_cc.h
          Reading /d/Programme/Panda3D-1.8.1/include/parser-inc/iostream
          Reading /d/Programme/Panda3D-1.8.1/include/parser-inc/string
            Reading /d/Programme/Panda3D-1.8.1/include/parser-inc/stdtypedefs.h
      Reading /d/Programme/Panda3D-1.8.1/include/pandasymbols.h
  Reading /d/Programme/Panda3D-1.8.1/include/NodePath.h
    [...]
Reading ChunkGenerator.h
  Reading stdafx.h
  Reading /d/Programme/Panda3D-1.8.1/include/GeomVertexFormat.h
  Reading /d/Programme/Panda3D-1.8.1/include/GeomVertexData.h
  Reading /d/Programme/Panda3D-1.8.1/include/Geom.h
  Reading /d/Programme/Panda3D-1.8.1/include/LVecBase3.h
Interrogate Module
Referencing Library BrainzCore

That’s the output with the combined file:

Interrogate
Reading BrainzCore_content.h
  Reading stdafx.h
    Reading targetver.h
    Reading /d/Programme/Panda3D-1.8.1/include/dtool_config.h
    Reading /d/Programme/Panda3D-1.8.1/include/pandabase.h
      Reading /d/Programme/Panda3D-1.8.1/include/dtoolbase.h
        Reading /d/Programme/Panda3D-1.8.1/include/dtool_config.h
        *** Warning in /d/Programme/Panda3D-1.8.1/include/dtoolbase.h near line 67, column 2:
        Ignoring invalid expression _MSC_VER >= 1300
        Reading /d/Programme/Panda3D-1.8.1/include/parser-inc/pyconfig.h
        Reading /d/Programme/Panda3D-1.8.1/include/dtoolsymbols.h
        *** Warning in /d/Programme/Panda3D-1.8.1/include/dtoolbase.h near line 128, column 2:
        Cannot find assert.h
        *** Warning in /d/Programme/Panda3D-1.8.1/include/dtoolbase.h near line 131, column 2:
        Cannot find signal.h
        *** Warning in /d/Programme/Panda3D-1.8.1/include/dtoolbase.h near line 145, column 2:
        Cannot find sys/types.h
        Reading /d/Programme/Panda3D-1.8.1/include/parser-inc/malloc.h
        *** Warning in /d/Programme/Panda3D-1.8.1/include/dtoolbase.h near line 165, column 2:
        Cannot find io.h
        *** Warning in /d/Programme/Panda3D-1.8.1/include/dtoolbase.h near line 185, column 2:
        Cannot find minmax.h
        Reading /d/Programme/Panda3D-1.8.1/include/parser-inc/stdtypedefs.h
        Reading /d/Programme/Panda3D-1.8.1/include/dtoolbase_cc.h
          Reading /d/Programme/Panda3D-1.8.1/include/parser-inc/iostream
          Reading /d/Programme/Panda3D-1.8.1/include/parser-inc/string
            Reading /d/Programme/Panda3D-1.8.1/include/parser-inc/stdtypedefs.h
      Reading /d/Programme/Panda3D-1.8.1/include/pandasymbols.h
  Reading ChunkGenerator.h
    Reading stdafx.h
    Reading /d/Programme/Panda3D-1.8.1/include/GeomVertexFormat.h
        [...]
    Reading /d/Programme/Panda3D-1.8.1/include/GeomVertexData.h
        [...]
    Reading /d/Programme/Panda3D-1.8.1/include/Geom.h
        [...]
    Reading /d/Programme/Panda3D-1.8.1/include/LVecBase3.h
Interrogate Module
Referencing Library BrainzCore

When I pass the two files directly, it tells me it would parse it, but does not … when I use the combined header, it not even tells me it would parse it … thats strange?

I’m also wondering about the BasicSkel example … theres a BasicSkel and a TypedSkel … which seem to do the same thing … the only difference is, that the TypedSkell extends “TypedObject” and has a TypeHandle …

Thanks in advance
Tobias

EDIT:
When I remove the Include-Guards from my stdafx.h AND pass the files one by one to the interrogate command, it works … so instead of BrainzCore_content.h I now pass *.h … but I’m wondering if there is a more practicable way?