Armadilloフォーラム

VSCode上でstruct ifreq型定義が解決できない

k-sawamura

2025年2月19日 17時29分

お世話になっております。
現在Armadillo-Iot A6EでC言語でソフトを組み込みCAN通信の実現するため、試験的に参照資料のP.50に記載されているコードを組み込もうとしているのですが、ATDE内のVSCode上でstruct ifreqのエラー画面.pngのようなエラー(不完全な型"struct ifreq"は使用できません)が出現しています。
これについて、何か対処法などあればご教示いただけませんでしょうか。

▼参考資料
Armadillo 実践開発ガイド 〜組み込み Linux の導入から製品化まで〜 第3部
https://armadillo.atmark-techno.com/files/downloads/armadillo-guide/doc…

ファイル ファイルの説明
struct ifreqのエラー画面.png
コメント

at_shota.shimoyama

2025年2月19日 18時56分

下山です。

このエラーはVSCodeにインストールされているMicrosoft C/C++ Extensionが出力しているものです。
このExtensionのデフォルトで設定されているC言語規格に実際のプログラムが則っていないため出力されているのだと思われます。

ですので、このExtensionのC言語規格をgnu17に設定してください。↓
1.VSCodeでコマンドパレット(Ctrl+Shift+P)から C/C++: Edit Configurations (UI)を選択する
2.下にスクロールして、「C standard」の項目で「gnu17」を選択する

よろしくお願いします。

回答ありがとうございます。
> 下山です。
>
> このエラーはVSCodeにインストールされているMicrosoft C/C++ Extensionが出力しているものです。
> このExtensionのデフォルトで設定されているC言語規格に実際のプログラムが則っていないため出力されているのだと思われます。
>
> ですので、このExtensionのC言語規格をgnu17に設定してください。↓
> 1.VSCodeでコマンドパレット(Ctrl+Shift+P)から C/C++: Edit Configurations (UI)を選択する
> 2.下にスクロールして、「C standard」の項目で「gnu17」を選択する
>
> よろしくお願いします。
上記対応をしたところエラーが解消しました。ありがとうございました。