0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Raspberry Pi Zero W上のソースコードをVScodeで見た時にライブラリ参照できない問題

0
Posted at

やっていること

Switchbotの温湿度計を利用した室温取得とデータ蓄積

Raspberry Pi Zero W でBluetooth通信を利用して、スイッチボットの温湿度計から情報を定期的に取得しています
一時間に1度取得し、メモリ上に保管してLINEのMessagingAPIを利用して、LINE通知をしていました。
SQLite3を使用してデータ蓄積をする機能の実装を行っていた時に問題が発生しました。

開発環境

Raspberry Pi Zero WのプロジェクトディレクトリをWindowsPCのZドライブとして読み込み
VScodeでZドライブを開き、ソースコードを編集。

なぜRemoteSSHを使わないのか??

Zero W君はRemoteSSHが使えない。。。

仕方がなくこのよう環境で開発を行っています。

ここで本題のライブラリ参照できない問題

Zドライブで読み込みをしているので、ライブラリの参照先はWindowsPCになる。
ライブラリは当然ないので、tab補完や関数の詳細をF12などで見に行くことができない。

解決方法

ラズパイのライブラリをWindowsに持ってくる

Zドライブとして読み込んでいるラズパイ上のディレクトリに移動する

cd /home/pi/work/source

ライブラリがあるディレクトリをtarで持ってくる

tar -czf library_raspi.tar.gz /usr/include

WindowsのファイルエクスプローラからZドライブに表示されるtar.gzファイルを適当な場所にコピーして展開する

image.png

VScodeの.vscode/c_cpp_properties.jsonにコピーしたフォルダを設定する。
※ファイルがない場合はCtrl + Shift + PでC/C++: Edit Configuration (JSON)的な感じで検索

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**",
                "C:\\Users\\user_name\\Documents\\pi_include.tar\\pi_include\\usr\\include"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "windowsSdkVersion": "10.0.19041.0",
            "compilerPath": "cl.exe",
            "cStandard": "c17",
            "cppStandard": "c++17",
            "intelliSenseMode": "windows-msvc-x64"
        }
    ],
    "version": 4
}

includePathに設定するとこのプロジェクトでは、ここも参照してくれるようになります

やった~

image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?