2017-10-15 74 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無法使用本機庫 - 畢竟它輸出Javascript代碼;它不能使用包含本機x86(或其他體系結構)代碼的庫。因此,emscripten將不會搜索系統包含目錄中的標題,因爲很多這些標題將描述Emscripten程序無法使用的功能。它使用內部搜索路徑。

現在,<X11/Xlocale.h>是一個奇怪的頭。它實際上並沒有定義任何東西;它只包括<locale.h>,所以你可以用#include <locale.h>代替#include <X11/Xlocale.h>。但是,如果您的應用程序使用其他X11功能,則可能無法在Emscripten下構建。

+0

謝謝。我用替換了並且通過了那個錯誤。 –

相關問題