Android 빌드 시 헤더 파일에서 에러

프라우드넷으로 개발 중 궁금한 것이 있어 몇 가지 문의 드립니다.

서버 : 프라우드넷 / 클라이언트 : 언리얼(4.25.4) / 플랫폼 : 안드로이드

1.
Android로 빌드를 하는 도중, 대부분의 해더 파일에서 _MSC_VER’ is not defined, evaluates to 0에러가 발생하였습니다. (WIN64 에서는 작동됩니다.)

Build.cs 안드로이드는 다음과 같이 처리하였습니다.

var ProjectRootPath	= System.IO.Path.GetFullPath(System.IO.Path.Combine(ModuleDirectory, "..\\..\\"));
var AndroidPath		= Path.Combine(ProjectRootPath, @"Server\Nettention\ProudNet\lib\NDK\r20\cmake\clangRelease\arm64-v8a\libProudNetClient.a");
var IncludePath		= Path.Combine(ProjectRootPath, @"Server\Nettention\ProudNet\include");

//WIN64 중략...        

if (Target.Platform == UnrealTargetPlatform.Android)
		{
			PublicDefinitions.Add("UNICODE");
			PublicDefinitions.Add("_UNICODE");

			if (Directory.Exists(IncludePath))
			{
				PublicIncludePaths.Add(IncludePath);
				Console.WriteLine("---------- IncludePath  Exists ----------");
			}

			if (File.Exists(AndroidPath))
            {
				PublicAdditionalLibraries.Add(AndroidPath);
				Console.WriteLine("---------- AndroidPath Exists");
			}
		}

연결 확인입니다.

LogPlayLevel: ---------- Target.Platform: Android
LogPlayLevel: ---------- LibPath Exists
LogPlayLevel: ---------- AndroidPath Exists

현재 저의 정보입니다.

LogPlayLevel: PLATFORM_ANDROID_NDK_VERSION = 210200
LogPlayLevel: NDK toolchain: r21b, NDK version: 19, GccVersion: 4.9, ClangVersion: 9.0.8
LogPlayLevel: Compiling Native 32-bit code with NDK API ‘android-19’

정보와 이번 오류가 관련있는지 알고 싶습니다.

2.
팀원들이 프로젝트를 깃허브에 올려놓기를 원하고 있습니다. 지금 라이브러리를 연결하려면 Nettention 폴더를 깃허브에 올려야지만 연결이 가능하다고 생각하고 있습니다.

폴더를 올린다면 private로 생각했는데 팀원들이 public 저장소를 원하는 것 같아서 폴더를 깃허브에 올려도 가능한지 여부를 알고 싶습니다.

_MSC_VER는 MSVC로 빌드는 predefine 된 macro라서 GCC빌드 시 오류가 발생합니다.
설치 경로 하위 ProudNet\include\pndefine.h 파일의 66번째 라인에서

#if (_MSC_VER>=1800) || (__cplusplus > 199711L)

#if (defined(_MSC_VER) && (_MSC_VER>=1800)) || (__cplusplus > 199711L) 과 같이 수정해서 테스트해보시기 바랍니다.

정책 상 프라우드넷 라이브러리를 외부에 공유하시면 안됩니다. 팀원 분 자리에 모두 프라우드넷을 설치하고 설치 경로를 참조하여 빌드하시기 바랍니다.