Я все еще изучаю и пытаюсь правильно использовать библиотеку GPIOD C ++ (не C) и соответствующий файл заголовка на Raspberry Pi 5. Raspberrypi?sudo apt install -y libgpiod-dev
< /code>
и составьте код ниже с помощью: < /p>
g++ -Wall -O3 -std=c++17 -o led27on led27on.cpp -lgpiod
< /code>
Что я замечаю, что когда «GPIOD» в командной строке компиляции заменяется «gpioDcxx» или «libgpiodcxx». Компиляция не удастся, поэтому я (a Rookie) Угадайте C ++ Код также использует GPIOD…
Итак, я удивляюсь, что я использую дополнительную библиотеку C ++? Не до конца понимайте: < /p>
ldd led27on | grep gpiod
libgpiod.so.2 => /lib/aarch64-linux-gnu/libgpiod.so.2 (0x00007fff543b0000)
< /code>
Эти дополнительные команды предоставляют: < /p>
ldd /usr/lib/aarch64-linux-gnu/libgpiod.so
linux-vdso.so.1 (0x00007ffed740c000)
libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x00007ffed71d0000)
/lib/ld-linux-aarch64.so.1 (0x00007ffed73d4000)
ldd /usr/lib/aarch64-linux-gnu/libgpiodcxx.so
linux-vdso.so.1 (0x00007fffbd1d4000)
libgpiod.so.2 => /lib/aarch64-linux-gnu/libgpiod.so.2 (0x00007fffbd120000)
libstdc++.so.6 => /lib/aarch64-linux-gnu/libstdc++.so.6 (0x00007fffbcf00000)
libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x00007fffbcd40000)
/lib/ld-linux-aarch64.so.1 (0x00007fffbd19c000)
libgcc_s.so.1 => /lib/aarch64-linux-gnu/libgcc_s.so.1 (0x00007fffbcd00000)
libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x00007fffbcc60000)
ldd /lib/aarch64-linux-gnu/libgpiod.so.2
linux-vdso.so.1 (0x00007fffb2fcc000)
libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x00007fffb2d90000)
/lib/ld-linux-aarch64.so.1 (0x00007fffb2f94000)
< /code>
Из -за того, что приведенный ниже код включает файл .hpp, а исходный код - файл .cpp (а не файлы .h и .c), я предполагаю, что использую язык C ++. < /p>
// (Linux raspberrypi 6.6.74+rpt-rpi-2712 #1 SMP PREEMPT Debian 1:6.6.74-1+rpt1 (2025-01-27))
// sudo apt update && sudo apt install -y libgpiod-dev
// Compile with:
// g++ -Wall -O3 -std=c++17 -o led27on led27on.cpp -lgpiod
//
// Notice when "gpiod" in the compile command line above is replaced
// by "gpiodcxx" or "libgpiodcxx" the compilation fails so I (a rookie) guess C++ code also uses gpiod
//
// Run by:
// ./led27on
//
#include
#include // Please note this header file which must be included
#include
#include
#ifndef CONSUMER
#define CONSUMER "Consumer"
#endif
int main() {
const char* chipname = "gpiochip0";
const int gpio_write_pin = 27; // GPIO27 LED
// Open GPIO chip
gpiod_chip* chip = gpiod_chip_open_by_name(chipname);
if (!chip) {
std::cerr
Подробнее здесь: https://stackoverflow.com/questions/795 ... a-raspberr
Я использую файл заголовка C ++ и/или C в этом примере на Raspberrypi? ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение