본문 바로가기
💻 programming/unity

[유니티] WebGL 빌드에러: Getting System.ComponentModel.Win32Exception (2)

by 연구원-A 2022. 12. 9.
반응형

리눅스 PC에서 유니티 WebGL을 빌드하는데 아래 에러가 발생했다

Getting System.ComponentModel.Win32Exception (2)

 

대략적으로 이해한바로는

유닉스 계열 (Linux, macOS)에서 나타나는 문제로,

WebGL을 빌드할 때 사용하는 Emscripten 툴체인에서 Python 라이브러리가 링크되지 않아서 발생한다고 한다

 

해결하는 방법은 단순한데 EMSDK_PYTHON 환경변수에 Python 경로를 지정해 주면 된다

 

빌드 에러를 해결하는 방법은 아래와 같다

 

첫째, Asset 바로 아래에 WebglPreBuildProcessing.cs 파일을 만든다

둘째, 아래 코드를 붙여 넣는다

    • "<파이썬 경로>" 에는 python3 경로를 입력한다
    • 우분투의 경우 whereis python3 명령어를 사용하면 경로를 찾을 수 있다 (e.g. /usr/bin/python3)
#if UNITY_EDITOR
using UnityEditor.Build;
using UnityEditor.Build.Reporting;

public class WebglPreBuildProcessing : IPreprocessBuildWithReport
{
	public int callbackOrder => 1;
	public void OnPreprocessBuild(BuildReport report)
	{
		System.Environment.SetEnvironmentVariable("EMSDK_PYTHON", "<파이썬 경로>");
	}
}
#endif

빌드가 성공하면 Web에서 열 수 있는 파일들이 생성된다

https://taemin-hwang.github.io/pansori-demo/ (예시)


아래 링크를 참고하여 빌드 에러를 해결했다

 

https://answers.unity.com/questions/1893328/getting-systemcomponentmodelwin32exception-2-no-su.html

 

Getting System.ComponentModel.Win32Exception (2): No such file or directory - Unity Answers

 

answers.unity.com

 

반응형

댓글