반응형
리눅스 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
반응형
'💻 programming > unity' 카테고리의 다른 글
유니티 UDP 소켓 통신 구현하기 - 유니티 UDP 서버 C# 예제 코드 <2> (0) | 2023.01.13 |
---|---|
유니티 UDP 소켓 통신 구현하기 - 예제 프로젝트 소개 <1> (0) | 2023.01.13 |
[유니티] WebGL 빌드에러: Unable to parse Build/Build.framework.js.gz! (0) | 2022.12.09 |
Python client - Unity Server (0) | 2021.08.04 |
유니티에서 소켓 통신하고 이벤트 등록하기 (C# 예제 코드) (0) | 2021.07.30 |
댓글