2017-10-15 133 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

谢谢。我用替换了并且通过了那个错误。 –

相关问题