亚马逊的蝴蝶 2021-12-22 06:00 采纳率: 0%
浏览 45
已结题

编译 Android2.3.1_r1时,出现error: too many template-parameter-lists,该怎么处理?

问题遇到的现象和发生背景

我正在学习罗升阳的《Android系统源代码情景分析》,里面用的例子是在Android2.3中的,因此我按照书中步骤安装了Android2.3.1_r1,用的系统是 Ubuntu20.04。执行 make 编译时,出现报错:frameworks/base/include/utils/TypeHelpers.h:242:8: error: too many template-parameter-lists

问题相关代码,请勿粘贴截图

frameworks/base/include/utils/TypeHelpers.h 中代码如下:

template<>
template <typename K, typename V>
struct trait_trivial_ctor< key_value_pair_t<K, V> >
{ enum { value = aggregate_traits<K,V>::has_trivial_ctor }; };
template<>
template <typename K, typename V>
struct trait_trivial_dtor< key_value_pair_t<K, V> >
{ enum { value = aggregate_traits<K,V>::has_trivial_dtor }; };
template<>
template <typename K, typename V>
struct trait_trivial_copy< key_value_pair_t<K, V> >
{ enum { value = aggregate_traits<K,V>::has_trivial_copy }; };
template<>
template <typename K, typename V>
struct trait_trivial_move< key_value_pair_t<K, V> >
{ enum { value = aggregate_traits<K,V>::has_trivial_move }; };
运行结果及报错内容

下面是编译时的具体报错代码:

host C++: aapt <= frameworks/base/tools/aapt/AaptAssets.cpp
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
In file included from frameworks/base/include/utils/Vector.h:26,
                 from frameworks/base/include/utils/AssetDir.h:24,
                 from frameworks/base/include/utils/AssetManager.h:24,
                 from frameworks/base/tools/aapt/AaptAssets.h:10,
                 from frameworks/base/tools/aapt/AaptAssets.cpp:5:
frameworks/base/include/utils/TypeHelpers.h:242:8: error: too many template-parameter-lists
  242 | struct trait_trivial_ctor< key_value_pair_t<K, V> >
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
frameworks/base/include/utils/TypeHelpers.h:246:8: error: too many template-parameter-lists
  246 | struct trait_trivial_dtor< key_value_pair_t<K, V> >
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
frameworks/base/include/utils/TypeHelpers.h:250:8: error: too many template-parameter-lists
  250 | struct trait_trivial_copy< key_value_pair_t<K, V> >
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
frameworks/base/include/utils/TypeHelpers.h:254:8: error: too many template-parameter-lists
  254 | struct trait_trivial_move< key_value_pair_t<K, V> >
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
我想要达到的结果

请教大家这个问题该如何分析和解决?谢谢!

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 12月30日
    • 创建了问题 12月22日

    悬赏问题

    • ¥15 如何让企业微信机器人实现消息汇总整合
    • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
    • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
    • ¥15 TLE9879QXA40 电机驱动
    • ¥20 对于工程问题的非线性数学模型进行线性化
    • ¥15 Mirare PLUS 进行密钥认证?(详解)
    • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
    • ¥20 想用ollama做一个自己的AI数据库
    • ¥15 关于qualoth编辑及缝合服装领子的问题解决方案探寻
    • ¥15 请问怎么才能复现这样的图呀