Missing ; before

Hello everyone.

I have a realy weird compilation error in this simple empty uobject class.

#pragma once
#include "VOXVoxel.generated.h"

UCLASS()
class VOXELRATORCORE_API UVOXVoxel : public UObject
{
	GENERATED_BODY()

public:
	UVOXVoxel(){}
	~UVOXVoxel(){}
};

I think it has to do with the generated header file.

// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
/*===========================================================================
	Generated code exported from UnrealHeaderTool.
	DO NOT modify this manually! Edit the corresponding .h files instead!
===========================================================================*/

#include "ObjectMacros.h"
#include "ScriptMacros.h"

PRAGMA_DISABLE_DEPRECATION_WARNINGS
#ifdef VOXELRATORCORE_VOXVoxel_generated_h
#error "VOXVoxel.generated.h already included, missing '#pragma once' in VOXVoxel.h"
#endif
#define VOXELRATORCORE_VOXVoxel_generated_h

#define NoNameYet_Plugins_Voxelrator_Source_VoxelratorCore_Public_Voxel_VOXVoxel_h_7_RPC_WRAPPERS
#define NoNameYet_Plugins_Voxelrator_Source_VoxelratorCore_Public_Voxel_VOXVoxel_h_7_RPC_WRAPPERS_NO_PURE_DECLS
#define NoNameYet_Plugins_Voxelrator_Source_VoxelratorCore_Public_Voxel_VOXVoxel_h_7_INCLASS_NO_PURE_DECLS \
private: \
	static void StaticRegisterNativesUVOXVoxel(); \
	friend VOXELRATORCORE_API class UClass* Z_Construct_UClass_UVOXVoxel(); \
public: \
	DECLARE_CLASS(UVOXVoxel, UObject, COMPILED_IN_FLAGS(0), 0, TEXT("/Script/VoxelratorCore"), NO_API) \
	DECLARE_SERIALIZER(UVOXVoxel) \
	enum {IsIntrinsic=COMPILED_IN_INTRINSIC};


#define NoNameYet_Plugins_Voxelrator_Source_VoxelratorCore_Public_Voxel_VOXVoxel_h_7_INCLASS \
private: \
	static void StaticRegisterNativesUVOXVoxel(); \
	friend VOXELRATORCORE_API class UClass* Z_Construct_UClass_UVOXVoxel(); \
public: \
	DECLARE_CLASS(UVOXVoxel, UObject, COMPILED_IN_FLAGS(0), 0, TEXT("/Script/VoxelratorCore"), NO_API) \
	DECLARE_SERIALIZER(UVOXVoxel) \
	enum {IsIntrinsic=COMPILED_IN_INTRINSIC};


#define NoNameYet_Plugins_Voxelrator_Source_VoxelratorCore_Public_Voxel_VOXVoxel_h_7_STANDARD_CONSTRUCTORS \
	/** Standard constructor, called after all reflected properties have been initialized */ \
	NO_API UVOXVoxel(const FObjectInitializer& ObjectInitializer); \
	DEFINE_DEFAULT_OBJECT_INITIALIZER_CONSTRUCTOR_CALL(UVOXVoxel) \
	DECLARE_VTABLE_PTR_HELPER_CTOR(NO_API, UVOXVoxel); \
DEFINE_VTABLE_PTR_HELPER_CTOR_CALLER(UVOXVoxel); \
private: \
	/** Private move- and copy-constructors, should never be used */ \
	NO_API UVOXVoxel(UVOXVoxel&&); \
	NO_API UVOXVoxel(const UVOXVoxel&); \
public:


#define NoNameYet_Plugins_Voxelrator_Source_VoxelratorCore_Public_Voxel_VOXVoxel_h_7_ENHANCED_CONSTRUCTORS \
private: \
	/** Private move- and copy-constructors, should never be used */ \
	NO_API UVOXVoxel(UVOXVoxel&&); \
	NO_API UVOXVoxel(const UVOXVoxel&); \
public: \
	DECLARE_VTABLE_PTR_HELPER_CTOR(NO_API, UVOXVoxel); \
DEFINE_VTABLE_PTR_HELPER_CTOR_CALLER(UVOXVoxel); \
	DEFINE_DEFAULT_CONSTRUCTOR_CALL(UVOXVoxel)


#define NoNameYet_Plugins_Voxelrator_Source_VoxelratorCore_Public_Voxel_VOXVoxel_h_7_PRIVATE_PROPERTY_OFFSET
#define NoNameYet_Plugins_Voxelrator_Source_VoxelratorCore_Public_Voxel_VOXVoxel_h_4_PROLOG
#define NoNameYet_Plugins_Voxelrator_Source_VoxelratorCore_Public_Voxel_VOXVoxel_h_7_GENERATED_BODY_LEGACY \
PRAGMA_DISABLE_DEPRECATION_WARNINGS \
public: \
	NoNameYet_Plugins_Voxelrator_Source_VoxelratorCore_Public_Voxel_VOXVoxel_h_7_PRIVATE_PROPERTY_OFFSET \
	NoNameYet_Plugins_Voxelrator_Source_VoxelratorCore_Public_Voxel_VOXVoxel_h_7_RPC_WRAPPERS \
	NoNameYet_Plugins_Voxelrator_Source_VoxelratorCore_Public_Voxel_VOXVoxel_h_7_INCLASS \
	NoNameYet_Plugins_Voxelrator_Source_VoxelratorCore_Public_Voxel_VOXVoxel_h_7_STANDARD_CONSTRUCTORS \
public: \
PRAGMA_ENABLE_DEPRECATION_WARNINGS


#define NoNameYet_Plugins_Voxelrator_Source_VoxelratorCore_Public_Voxel_VOXVoxel_h_7_GENERATED_BODY \
PRAGMA_DISABLE_DEPRECATION_WARNINGS \
public: \
	NoNameYet_Plugins_Voxelrator_Source_VoxelratorCore_Public_Voxel_VOXVoxel_h_7_PRIVATE_PROPERTY_OFFSET \
	NoNameYet_Plugins_Voxelrator_Source_VoxelratorCore_Public_Voxel_VOXVoxel_h_7_RPC_WRAPPERS_NO_PURE_DECLS \
	NoNameYet_Plugins_Voxelrator_Source_VoxelratorCore_Public_Voxel_VOXVoxel_h_7_INCLASS_NO_PURE_DECLS \
	NoNameYet_Plugins_Voxelrator_Source_VoxelratorCore_Public_Voxel_VOXVoxel_h_7_ENHANCED_CONSTRUCTORS \
private: \
PRAGMA_ENABLE_DEPRECATION_WARNINGS


#undef CURRENT_FILE_ID
#define CURRENT_FILE_ID NoNameYet_Plugins_Voxelrator_Source_VoxelratorCore_Public_Voxel_VOXVoxel_h


PRAGMA_ENABLE_DEPRECATION_WARNINGS

There is no other code beside this class in the header file. Other classes are compiling perfectly fine.

Is this a bug of the unreal header tool or have i done something wrong? I am using Visual Studio 2015 and Unreal Engine 4.17.1

Ok the error was in the generated header file. After trying multiple things out I ended up placing a ; at the end of the generated.h file. Now its compiling without an error.

// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
/*===========================================================================
	Generated code exported from UnrealHeaderTool.
	DO NOT modify this manually! Edit the corresponding .h files instead!
===========================================================================*/

#include "ObjectMacros.h"
#include "ScriptMacros.h"

PRAGMA_DISABLE_DEPRECATION_WARNINGS
#ifdef VOXELRATORCORE_VOXVoxel_generated_h
#error "VOXVoxel.generated.h already included, missing '#pragma once' in VOXVoxel.h"
#endif
#define VOXELRATORCORE_VOXVoxel_generated_h

#define NoNameYet_Plugins_Voxelrator_Source_VoxelratorCore_Public_Voxel_VOXVoxel_h_8_RPC_WRAPPERS
#define NoNameYet_Plugins_Voxelrator_Source_VoxelratorCore_Public_Voxel_VOXVoxel_h_8_RPC_WRAPPERS_NO_PURE_DECLS
#define NoNameYet_Plugins_Voxelrator_Source_VoxelratorCore_Public_Voxel_VOXVoxel_h_8_INCLASS_NO_PURE_DECLS \
private: \
	static void StaticRegisterNativesUVOXVoxel(); \
	friend VOXELRATORCORE_API class UClass* Z_Construct_UClass_UVOXVoxel(); \
public: \
	DECLARE_CLASS(UVOXVoxel, UObject, COMPILED_IN_FLAGS(0), 0, TEXT("/Script/VoxelratorCore"), NO_API) \
	DECLARE_SERIALIZER(UVOXVoxel) \
	enum {IsIntrinsic=COMPILED_IN_INTRINSIC};


#define NoNameYet_Plugins_Voxelrator_Source_VoxelratorCore_Public_Voxel_VOXVoxel_h_8_INCLASS \
private: \
	static void StaticRegisterNativesUVOXVoxel(); \
	friend VOXELRATORCORE_API class UClass* Z_Construct_UClass_UVOXVoxel(); \
public: \
	DECLARE_CLASS(UVOXVoxel, UObject, COMPILED_IN_FLAGS(0), 0, TEXT("/Script/VoxelratorCore"), NO_API) \
	DECLARE_SERIALIZER(UVOXVoxel) \
	enum {IsIntrinsic=COMPILED_IN_INTRINSIC};


#define NoNameYet_Plugins_Voxelrator_Source_VoxelratorCore_Public_Voxel_VOXVoxel_h_8_STANDARD_CONSTRUCTORS \
	/** Standard constructor, called after all reflected properties have been initialized */ \
	NO_API UVOXVoxel(const FObjectInitializer& ObjectInitializer); \
	DEFINE_DEFAULT_OBJECT_INITIALIZER_CONSTRUCTOR_CALL(UVOXVoxel) \
	DECLARE_VTABLE_PTR_HELPER_CTOR(NO_API, UVOXVoxel); \
DEFINE_VTABLE_PTR_HELPER_CTOR_CALLER(UVOXVoxel); \
private: \
	/** Private move- and copy-constructors, should never be used */ \
	NO_API UVOXVoxel(UVOXVoxel&&); \
	NO_API UVOXVoxel(const UVOXVoxel&); \
public:


#define NoNameYet_Plugins_Voxelrator_Source_VoxelratorCore_Public_Voxel_VOXVoxel_h_8_ENHANCED_CONSTRUCTORS \
private: \
	/** Private move- and copy-constructors, should never be used */ \
	NO_API UVOXVoxel(UVOXVoxel&&); \
	NO_API UVOXVoxel(const UVOXVoxel&); \
public: \
	DECLARE_VTABLE_PTR_HELPER_CTOR(NO_API, UVOXVoxel); \
DEFINE_VTABLE_PTR_HELPER_CTOR_CALLER(UVOXVoxel); \
	DEFINE_DEFAULT_CONSTRUCTOR_CALL(UVOXVoxel)


#define NoNameYet_Plugins_Voxelrator_Source_VoxelratorCore_Public_Voxel_VOXVoxel_h_8_PRIVATE_PROPERTY_OFFSET
#define NoNameYet_Plugins_Voxelrator_Source_VoxelratorCore_Public_Voxel_VOXVoxel_h_4_PROLOG
#define NoNameYet_Plugins_Voxelrator_Source_VoxelratorCore_Public_Voxel_VOXVoxel_h_8_GENERATED_BODY_LEGACY \
PRAGMA_DISABLE_DEPRECATION_WARNINGS \
public: \
	NoNameYet_Plugins_Voxelrator_Source_VoxelratorCore_Public_Voxel_VOXVoxel_h_8_PRIVATE_PROPERTY_OFFSET \
	NoNameYet_Plugins_Voxelrator_Source_VoxelratorCore_Public_Voxel_VOXVoxel_h_8_RPC_WRAPPERS \
	NoNameYet_Plugins_Voxelrator_Source_VoxelratorCore_Public_Voxel_VOXVoxel_h_8_INCLASS \
	NoNameYet_Plugins_Voxelrator_Source_VoxelratorCore_Public_Voxel_VOXVoxel_h_8_STANDARD_CONSTRUCTORS \
public: \
PRAGMA_ENABLE_DEPRECATION_WARNINGS


#define NoNameYet_Plugins_Voxelrator_Source_VoxelratorCore_Public_Voxel_VOXVoxel_h_8_GENERATED_BODY \
PRAGMA_DISABLE_DEPRECATION_WARNINGS \
public: \
	NoNameYet_Plugins_Voxelrator_Source_VoxelratorCore_Public_Voxel_VOXVoxel_h_8_PRIVATE_PROPERTY_OFFSET \
	NoNameYet_Plugins_Voxelrator_Source_VoxelratorCore_Public_Voxel_VOXVoxel_h_8_RPC_WRAPPERS_NO_PURE_DECLS \
	NoNameYet_Plugins_Voxelrator_Source_VoxelratorCore_Public_Voxel_VOXVoxel_h_8_INCLASS_NO_PURE_DECLS \
	NoNameYet_Plugins_Voxelrator_Source_VoxelratorCore_Public_Voxel_VOXVoxel_h_8_ENHANCED_CONSTRUCTORS \
public: \
PRAGMA_ENABLE_DEPRECATION_WARNINGS


#undef CURRENT_FILE_ID
#define CURRENT_FILE_ID NoNameYet_Plugins_Voxelrator_Source_VoxelratorCore_Public_Voxel_VOXVoxel_h


PRAGMA_ENABLE_DEPRECATION_WARNINGS
;