如何强制emmake使用config.h文件并进行预处理?

时间:2014-06-14 15:06:37

标签: c++ c-preprocessor emscripten

我正在尝试用emscripten(最新)构建项目,我已经完成了emconfigure ./configure。现在尝试做emmake make。但它无法找到preprocess指令中所需的new.h文件,我确信本机配置可以生成一个好的配置文件。它用本机make编译。所以问题是如何使emmake做预处理正确吗?

#if defined(UNDER_CE)
# ifndef __WCEALT_H__
inline void * operator new(size_t, void * ptr) { return ptr; }
# endif
#elif defined(AUTOCONF) && defined(HAVE_STDINCLUDES)
# include <new>
#else
# include <new.h>
#endif

PS:也许有人知道如何在编译之前进行预处理?删除无用的代码?像g++ -e或类似的东西,但我找不到一个很棒的项目的好工作流程。

PS:输出emmake:

libtool: compile:  /Users/tau0/reader/emsdk_portable/emscripten/1.16.0/em++ -DHAVE_CONFIG_H -I.. -I. -DNDEBUG -Wall -O3 -Wno-non-virtual-dtor -c GOS.cpp  -fno-common -DPIC -o .libs/GOS.o
In file included from GOS.cpp:63:
In file included from ./GException.h:120:
./DjVuGlobal.h:72:11: fatal error: 'new.h' file not found
# include <new.h>
      ^
1 error generated.

1 个答案:

答案 0 :(得分:0)

默认情况下,Emconfigure会禁用stl,因此请检查新的config.h以获取HAVE_STDINCLUDES。