Thanks for the quick reply.
I added #ifndef pre-processor blocks and I no longer get the redifinition errors.
However (and I’m new to enums so, this might be wrong) I get the following error
PGC-S-0037-Syntax error: Recovery attempted by deleting keyword enum (.\C.App.h: 57)
PGC-S-0037-Syntax error: Recovery attempted by deleting keyword enum (.\C.Sediment.h: 57)
PGC-S-0037-Syntax error: Recovery attempted by deleting keyword enum (.\C.Enumerations.h: 57)
#ifndef NSM_PARTITIONABLE_ENUM define NSM_PARTITIONABLE_ENUM
enum NSM_PARTITIONABLE_ENUM
{
NSM_IS_PARTITIONABLE_Enum, // Use if: Want partitioning between dissolved, bound and sediment-sorbed
NSM_IS_FULLY_DISSOLVED_Enum, // Use if: Want only dissolved form
NSM_IS_FULLY_SORBED_Enum // Use if: Want only sediment-sorbed form
}; endif
Are you getting the redefinition errors because ENUMERATIONS.h is getting included multiple times? If so, then you probably can just put a guard around the whole file. Something like:
#ifndef ENUMERATIONS_H_DEFINE
#define ENUMERATIONS_H_DEFINE
#include "LINKAGE.h"
enum NSM_SEDIMENT_SORBING_ENUM
{
NSM_SEDIMENT_IS_SORBING_Enum,
NSM_SEDIMENT_IS_NOT_SORBING_Enum
};
enum NSM_PARTITIONABLE_ENUM
{
NSM_IS_PARTITIONABLE_Enum, // Use if: Want partitioning between dissolved, bound and sediment-sorbed
NSM_IS_FULLY_DISSOLVED_Enum, // Use if: Want only dissolved form
NSM_IS_FULLY_SORBED_Enum // Use if: Want only sediment-sorbed form
};
enum NSM_SPECIES_ENUM
{
NSM_NO2_Enum = 0,
NSM_NO3_Enum,
NSM_NH4_Enum,
NSM_ORGANIC_NITROGEN_Enum,
NSM_ORGANIC_PHOSPHORUS_Enum,
NSM_DISSOLVED_PHOSPHORUS_Enum,
NSM_ALGAE_Enum,
NSM_CBOD_Enum,
NSM_DISSOLVED_OXYGEN_Enum,
NSM_Soil_N_organicActive_Enum = 100,
NSM_Soil_N_organicStable_Enum,
NSM_Soil_P_organicActive_Enum,
NSM_Soil_P_organicStable_Enum,
NSM_Soil_P_mineralActive_Enum,
NSM_Soil_P_mineralStable_Enum,
};
// F U N C T I O N P R O T O T Y P E S
EXPORT int NSM_SPECIES_ENUM_IsChannelSpecie(enum NSM_SPECIES_ENUM specieEnum);
EXPORT int NSM_SPECIES_ENUM_IsOverlandSpecie(enum NSM_SPECIES_ENUM specieEnum);
EXPORT int NSM_SPECIES_ENUM_IsSoilSpecie(enum NSM_SPECIES_ENUM specieEnum);
EXPORT enum NSM_PARTITIONABLE_ENUM NSM_SPECIES_ENUM_IsPartitionable(enum NSM_SPECIES_ENUM specieEnum);
#endif /* ENUMERATIONS_H_DEFINE */