Shipping package build error: syntax error missing ';'

I tried to package a Shipping build (Development works fine) and I get a bunch of syntax errors, for example:

syntax error: 'TBaseDelegate<void>' should be preceded by ';'
syntax error: missing ';' before '<class-head>'
...

Hello,

Would you mind also providing your full output log for me so I can take a closer look at these errors?

Do you receive errors if you build in Visual Studio?

Thanks

I was originally trying to package through the editor, but now I’m building in VS 2015. I rolled back through our revision history until I encountered the first breakage. An empty interface was added (names changed to protect the innocent):

#pragma once

#include "FooInterface.generated.h"

UINTERFACE(MinimalAPI)
class UFooInterface : public UInterface
{
	GENERATED_UINTERFACE_BODY()
};

class FOO_API IFooInterface
{
	GENERATED_IINTERFACE_BODY()
};

Which gave the following error:

error C2143: syntax error: missing ';' before '<class-head>'

So I opened up the corresponding generated.h file and added a semi-colon after

PRAGMA_DISABLE_DEPRECATION_WARNINGS ;

and now it builds.

In another class, I was able to fix the error by using a forward declaration in the header.

Our project was originally 4.13 and has been migrated to 4.14, if that has anything to do with it. I have yet to try this workaround + packaging on our most recent revision. Any ideas for a proper fix?

I’ve tested this on my end by adding a new interface class to my project, but I’m not seeing the same error.

Have you made any other changes that could’ve cause this?

Yeah, there’s nothing in the interface to indicate that it should be a problem, it was simply the only thing that had changed in that specific revision number that broke shipping. Obviously, something is wrong and will continue to plague our project further down the line. I suspect some type of installation or project migration issue. I would like to create a fresh project and move assets over to see where it breaks but that would take forever. For now, we have a workaround and I have to move on…Cheers.

Okay, that’s understandable. If you’d ever like to dive back into this investigation and you have more information, feel free to leave a comment to reopen this thread.

Have a great day

Circled back to fix this and finally found the problem: DECLARE_LOG_CATEGORY_EXTERN was not defined in the corresponding cpp and was missing a ;