我正在尝试使用Emscripten的http://rephial.org/downloads/3.3/angband-v3.3.2.tar.gz构建一个项目(即Angband的源代码- Javascript ),以便将其移植到Javascript,并最终构建一个在线版本。
我已经设法让这个过程开始于
Emconfig./configure make
开始成功地开始生成LLVM .o文件,但随后在main-gcu.c上挂起,并显示'main-gcu.c:43:11: fatal error:'ncurses.h‘file not found’
我相信main-gcu.c是唯一引用ncurses的文件,但我就是想不出如何在编译时包含这个库。有没有办法用'make‘指定包含ncurses,或者我应该单独编译-c -gcu.c文件,用'emcc main-gcu.c ncurses’?我尝试过这样做,但这导致了另一个错误,emcc无法找到下一层实际上包含的其他头文件(它无法找到包含在main-gcu.c包含的头文件中的头文件--无论如何都不能解决这个问题?)
我也不确定是否已经/需要在Mac OSX上安装ncurses库。我真正能找到的就是Linux下libncurse5-dev的引用。
谢谢!
发布于 2012-06-18 07:25:58
我认为你误解了Emscripten的编译。我会试着指出你面临的几个问题。
emconfigure、emmake、...修改构建环境,以便将源代码编译为其中一种LLVM格式(规则有例外,但不要紧)。因此,您想要链接到最终结果的任何东西都必须是LLVM格式(缺省情况下ncurses不是)。emscripten_set_main_loop如果你已经编译了这些库,那么你必须静态地链接它们到Emscripten。在这一点上,这不是一个技术问题,但更多的是许可证问题,因为如果你的库是在例如LGPL下授权的,由于静态链接,GPL条款是有效的。我希望所有的清晰度最终消失;)
https://stackoverflow.com/questions/10767489
复制相似问题