使用环境

<!-- 必须 告知插件运行的环境,帮助开发者定位问题 -->

  • 操作系统版本:Winodw
  • 操作系统平台(x86/x64):x86
  • VsCode 版本:1.70.2
  • EIDE 插件版本:
  • C/C++ 插件版本:3.10.9
  • 何种编译器(keil_c51/sdcc/armcc5/armgcc/...):iararm
  • 编译器版本(非编译问题可忽略):9.10.1

描述问题

使用EIDE编译IAR-ARM工程时如何配置c++编译器,默认的好像一直在使用c的编译器,导致编译时一直报错找不到class类

屏幕截图


<!--使用一些截图能够更好地展现问题 -->

期望现象

期望像IARIDE一样可以选择c或者c++编译器编译,或者有什么方法编译c++的iar工程

    咱正常跑IAR 用上图的配置是可以编译通过的

      pwock

      IAR 的 C/C++ 编译器都是 iccarm.exe,通过编译参数指定是什么语言

      插件会根据文件后缀自动生成相应的参数,我这边是正常的

      pwock

      你可以在 build 目录中打开 出错文件 对应的参数文件:xxx.args.txt

      和 IAR 生成的 .lst 文件中的参数对比一下,查看参数是否有不一样的地方

      因为我的工程包括了c和cpp文件,在编译部分.c文件时候他们的头文件有class这个c++类,所以在编译这个.c文件的时候会报找不到class错误。
      我猜测是编译这个.c文件的时候iccarm.exe用的是c的编译参数,所以才找不到。
      请问能不能强行使用c++的编译参数编译c文件呢?

        pwock

        打开构建配置 -> C/C++ Compiler 标签页

        在 Other C/C++ Compiler Options 里面加上

        --eec++

        保存,然后重新编译

        根据你的思路,我在iccarm -help里找到了相关的编译语句,但是我现在iccarm版本是9.10的,9.10没有extended c++ ,所以附加指令也只有 --c++ ,没有--eec++ , 我现在构建的时候未找到 --eec++ 如何改成 --c++呢?

          Write a Reply...