我正在尝试用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.
答案 0 :(得分:0)
默认情况下,Emconfigure会禁用stl,因此请检查新的config.h以获取HAVE_STDINCLUDES。