当前位置: 首页 > 工具软件 > JerryScript > 使用案例 >

jerryscript有关“error: inlining failed in call to always_inline”问题的解决

东方方伟
2023-12-01

最近需要用jerryscript将js脚本嵌入C++ ,网上找不到前辈们的资源,进展相对缓慢,这里把自己遇到的问题以及解决办法提供给大家作为参考。

/home/ubuntu/jerryscript/jerry-core/parser/js/js-parser-statm.c: In function 'parser_parse_case_statement':
/home/ubuntu/jerryscript/jerry-core/parser/js/js-parser-mem.c:56:1: error: inlining failed in call to always_inline 'parser_free': function body not available
 parser_free (void *ptr, /**< pointer to free */
 ^
/home/ubuntu/jerryscript/jerry-core/parser/js/js-parser-statm.c:2217:3: error: called from here
   parser_free (branch_p, sizeof (parser_branch_node_t));

网上查了很多资料都不能解决(非SSE优化指令问题),但是可以判定是编译的问题,这是我当时用的编译参数: 

set(CMAKE_CXX_FLAGS "-std=c++0x -O0 -g -fmessage-length=0 -Wall -Wextra ")

当我把-O0换成O2的时候问题竟然就解决了! 

set(CMAKE_CXX_FLAGS "-std=c++0x -O2 -g -fmessage-length=0 -Wall -Wextra ")

除了 -O0都可以...

编译选项请参考博客:#gcc笔记01#gcc编译选项 -O0 -O1 -O2 -O3

具体原因是什么之后再研究 

 类似资料: