gpt4 book ai didi

c++ - 在 Eclipse Juno ADT 中启用 C++11 符号解析

转载 作者:行者123 更新时间:2023-11-28 02:43:21 25 4
gpt4 key购买 nike

我将 Eclipse Juno 与从 https://dl-ssl.google.com/android/eclipse/ 下载的 ADT(Android 开发人员工具)插件一起使用.

我创建了一个启用了原生支持的 Android 应用程序项目(右键单击该项目 →“Android 工具”→“添加原生支持”)。

尽管在我的 Application.mkAndroid.mk 文件中以 C++11 为目标,Eclipse 无法解析像 std::threadstd::unique_ptr,但是当我构建项目时它编译得很好:唯一的问题是 C++11 符号解析。

如何让 Eclipse 正确解析 C++ 2011 符号?

最佳答案

如果带有 ADT 插件的 Eclipse Juno 可以编译 C++11 代码但无法解析 C++11 符号,则过程如下:

  1. 在文本编辑器中打开您的 .cproject 文件。

  2. 搜索以下行(其中 XXXXXXXXX 是随机数):

    <tool id="com.android.gcc.compiler.XXXXXXXXX" name="Android GCC Compiler" superClass="com.android.gcc.compiler">
  3. 添加以下内容:

    <option id="com.android.gcc.compiler.option.preprocessor.def.768340103" superClass="com.android.gcc.compiler.option.preprocessor.def" valueType="definedSymbols">
    <listOptionValue builtIn="true" value="__cplusplus=201103L"/>
    <listOptionValue builtIn="false" value="__cplusplus=201103L"/>
    <listOptionValue builtIn="true" value="__GXX_EXPERIMENTAL_CXX0X__"/>
    <listOptionValue builtIn="false" value="__GXX_EXPERIMENTAL_CXX0X__"/>
    </option>

    你应该有这样的东西(其中 YYYYYYYYYY 也是一个随机数):

    <tool id="com.android.gcc.compiler.XXXXXXXXX" name="Android GCC Compiler" superClass="com.android.gcc.compiler">
    <option id="com.android.gcc.compiler.option.preprocessor.def.768340103" superClass="com.android.gcc.compiler.option.preprocessor.def" valueType="definedSymbols">
    <listOptionValue builtIn="true" value="__cplusplus=201103L"/>
    <listOptionValue builtIn="false" value="__cplusplus=201103L"/>
    <listOptionValue builtIn="true" value="__GXX_EXPERIMENTAL_CXX0X__"/>
    <listOptionValue builtIn="false" value="__GXX_EXPERIMENTAL_CXX0X__"/>
    </option>
    <inputType id="com.android.gcc.inputType.YYYYYYYYYY" superClass="com.android.gcc.inputType"/>
    </tool>
  4. 保存修改,重启 eclipse,如果 C++11 符号仍未解析重建索引(右键单击项目 → “索引” → “重建”)。


因为“符号”选项卡在项目的 C/C++ 选项中不可见,我被迫在 .cproject 文件中手动添加这些行以设置__cplusplus 的值为 201103L

我不知道 .cproject 文件是如何工作的,所以可能有更好的方法来做到这一点。我看到有些人更改项目的工具集选项以使“符号”选项卡可见(此处为 Android NDK build, Method could not be resolved 和此处为 Setting up C++11 (std::thread) for NDK with ADT/Eclipse)。

关于c++ - 在 Eclipse Juno ADT 中启用 C++11 符号解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25204247/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com