2017-10-15 1 views
0

<X11/Xlocale.h>에 의존하는 코드가 있습니다. emscripten 도구 체인 (CMake 생성 후)을 사용하여 컴파일하려고하면 다음 오류가 발생합니다. 구성을 변경하려면 무엇이 필요합니까?emscripten으로 컴파일 할 때 <X11/Xlocale.h>를 포함하려면 어떻게해야합니까?

 'X11/Xlocale.h' file not found 
# include <X11/Xlocale.h> 
     ^~~~~~~~~~~~~~~ 
1 error generated. 

Linux에서이 작업을 수행하고 있습니다.

$ uname -a 
Linux bracket 4.10.0-37-generiC#41-Ubuntu SMP Fri Oct 6 20:20:37 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux 

libx-dev가 설치되어 있습니다.

$ sudo apt-get install libx11-dev 
Reading package lists... Done 
Building dependency tree  
Reading state information... Done 
libx11-dev is already the newest version (2:1.6.4-3). 
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 
+1

CMake는 아마도 불평했을 것입니다,하지만 그 파일을 포함하고있는 패키지를 설치하는 방법은 어떨까요? – Darklighter

+1

* 구성을 변경하려면 어떻게해야합니까? * 구성을 먼저 표시해야합니다. – CroCo

+0

업데이트 됨. 그 밖의 무엇을보고해야합니까? –

답변

1

Emscripten은 네이티브 라이브러리를 사용할 수 없습니다. 결국 자바 스크립트 코드를 출력합니다. 네이티브 x86 (또는 다른 아키텍처) 코드를 포함하는 라이브러리를 사용할 수 없습니다. emscripten은 Emscripten 프로그램에서 사용할 수없는 기능을 설명하기 때문에 시스템 디렉토리의 헤더를 검색하지 않습니다. 대신 내부 검색 경로를 사용합니다.

이제 <X11/Xlocale.h>은 다소 이상한 헤더입니다. 실제로 아무것도 정의하지는 않습니다. <locale.h>이 포함되어 있으므로 #include <X11/Xlocale.h>#include <locale.h>으로 바꾸면 문제를 해결할 수 있습니다. 그러나 응용 프로그램에서 다른 X11 기능을 사용하는 경우 Emscripten에서 빌드 할 수 없습니다.

+0

감사합니다. 나는 으로 바뀌었고 그 오류를 지나쳤습니다. –

관련 문제