まずNTP時計のプログラムを書こうとしている自分用のメモ。やりながら書いてます。成功したら記事タイトルごと変えます。
ディスプレイ表示にwifi接続の処理を加えられるか、サンプルのソースをもとにいじっているがエラーが出ておりうまくいかず..
うまく呼び出せていないだけな感じがしますが、Cmakeの仕組みを理解できてないのでこれ以上うまくできないかもしれない..(分かる人がみればすぐ分かるかもしれません)
/usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/bin/ld: CMakeFiles/pico_display3_demo.dir/pico_display_3_demo.cpp.obj: in function __static_initialization_and_destruction_0(int, int)': /home/*****/pico/pimoroni-pico/examples/pico_display_3/pico_display_3_demo.cpp:122: undefined reference tovtable for pimoroni::Esp32Spi'
/usr/lib/gcc/arm-none-eabi/10.3.1/../../../arm-none-eabi/bin/ld: /home/****/pico/pimoroni-pico/examples/pico_display_3/pico_display_3_demo.cpp:122: undefined reference to `vtable for pimoroni::PicoWireless'
collect2: error: ld returned 1 exit status
make[2]: *** [examples/pico_display_3/CMakeFiles/pico_display3_demo.dir/build.make:969: examples/pico_display_3/pico_display3_demo.elf] エラー 1
make[1]: *** [CMakeFiles/Makefile2:7036: examples/pico_display_3/CMakeFiles/pico_display3_demo.dir/all] エラー 2
make: *** [Makefile:91: all] エラー 2
最近よく使っていたM5stackがいかに楽にできるか思い知りました…
(追記)
上のエラーで、同じ名前のファイルはもう作ってるからだめだと言われているので、
cmakeのテキストファイルを以下のようにコメントアウトして、
#add_subdirectory(pico_wireless)
pico_wirelessのフォルダをdisplay用のフォルダの配下に入れて、そのファイルの中で
add_subdirectory(mandelbrot)
add_subdirectory(pico_wireless)
set(OUTPUT_NAME pico_display3_demo)
こんな感じでadd_subdirectoryしてpico_wirelessのサブディレクトリを追加したらエラーが消えました。
しかし、実行してみると画面はうまく表示できず…
どうやらwifiのinit処理をするだけでプログラムが固まってるみたい。
まだちゃんとした開発環境ができていないので、エラー文を確認することもできない状態。
今後はvscodeの環境など入れてまともなデバック環境を作ってからやるか、CQ出版の本通りにサンプルを動かす方針にしたいと思います。
コメント