用Scons和Emscripten编译C++



我想使用带有emscripten的Scons构建系统为web构建一个简单的HelloWorld程序。

我有一个简单的程序:

#include <stdio.h>
#include <emscripten/emscripten.h>
void loop()
{
printf("Hello world!n");
}
int main(int argc, char ** argv)
{
emscripten_set_main_loop(loop, -1, false);
return 0;
}

如果我用emscripten直接编译它,使用:

emcc main.cpp -o Test.html

它使用html正确地生成web程序集构建,但是我想做的是使用Scons编译它,并生成与emscripten生成的输出相同的输出。

我有这个Sconstruct scons脚本:

environmentRoot = Environment()
environmentRoot.Program("Test", ["main.cpp"])

问题是,我不知道如何告诉scons使用emscripten并生成web程序集文件。

谢谢!

您必须做两件事中的一件。

  1. 对已经定义的工具链(可能是gcc(使用SCons工具,并修改影响生成的命令行的Environment((变量

类似的东西可能会起作用:

env=Environment(tools=['gcc','gnulink'], CC='emcc', PROGSUFFIX='.html')
  1. 创建一个新的SCons工具和相关的Builder((。请参阅:https://scons.org/doc/production/HTML/scons-user.html#chap-建设者写作

无论哪种方式,您都需要的不仅仅是SCons的初学者知识,阅读用户指南(以及手册的部分内容(会很好https://scons.org/doc/production/HTML/scons-man.html

最新更新