【发布时间】:2015-10-22 14:45:33
【问题描述】:
我使用C++ Builder Seattle 创建了一个简单的 Duktape 示例,并按照Duktape 中“初始化上下文”中的代码进行操作。使用经典模式时编译良好。如果我通过取消选中 Project->Options->C++ Compiler->Use 'classic' Borland compiler 切换到 clang,我会收到以下错误。
inttypes.h file not found on line 780 of duktape.h
如果我注释掉包含我会得到以下错误:
Unresolved external _va_copy
Unresolved external _fmin
Unresolved external _fmax
【问题讨论】:
-
<inttypes.h>标头和va_copy()是C99 功能(我认为fmin和fmax也是如此)。也许您需要使用clang在 C99 或 C11 模式下编译才能激活它们。请注意,fmin和fmax来自<math.h>,va_copy()来自<stdarg.h>。或者,您可能需要在切换编译器时重新配置 Duktape;它被设置为可以在一个编译器上正常工作,但不能在另一个编译器上正常工作。 -
我需要弄清楚如何重新配置 Duktape。它有各种神奇的自动检测#ifdefs
标签: c++ c++builder c++builder-10-seattle duktape