首页 > 解决方案 > DJI-SDK编译示例程序报错Debian 10

问题描述

我无法在 Raspberry PI 上编译 Debian 10 上的示例程序。我在 CMakeList.txt 中添加了库。但是我在制作过程中遇到了错误。cmake .. 没问题。我该做什么?


pi@raspberrypi:~/Onboard-SDK/build $ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 10 (buster)
Release: 10
Codename: buster

pi@raspberrypi:~/Onboard-SDK/build $ gcc -v
Thread model: posix
gcc version 8.3.0 (Raspbian 8.3.0-6+rpi1)

pi@raspberrypi:~/Onboard-SDK/build $ cmake -version
cmake version 3.16.3

root@raspberrypi:/home/pi/Onboard-SDK/sample/platform/linux/telemetry/build# cmake ..
-- Configuring done
-- Generating done
-- Build files have been written to: /home/pi/Onboard-SDK/sample/platform/linux/telemetry/build

当我使用 make 我有一个错误:

root@raspberrypi:/home/pi/Onboard-SDK/sample/platform/linux/telemetry/build# make
Scanning dependencies of target djiosdk-telemetry-sample
[ 14%] Building CXX object CMakeFiles/djiosdk-telemetry-sample.dir/home/pi/Onboard-SDK/sample/platform/linux/common/dji_linux_environment.cpp.o
[ 28%] Building CXX object CMakeFiles/djiosdk-telemetry-sample.dir/home/pi/Onboard-SDK/sample/platform/linux/common/dji_linux_helpers.cpp.o
[ 42%] Building C object CMakeFiles/djiosdk-telemetry-sample.dir/home/pi/Onboard-SDK/sample/platform/linux/hal/osdkhal_linux.c.o
[ 57%] Building C object CMakeFiles/djiosdk-telemetry-sample.dir/home/pi/Onboard-SDK/sample/platform/linux/osal/osdkosal_linux.c.o
[ 71%] Building CXX object CMakeFiles/djiosdk-telemetry-sample.dir/main.cpp.o
[ 85%] Building CXX object CMakeFiles/djiosdk-telemetry-sample.dir/telemetry_sample.cpp.o
[100%] Linking CXX executable djiosdk-telemetry-sample
/usr/bin/ld: CMakeFiles/djiosdk-telemetry-sample.dir/home/pi/Onboard-SDK/sample/platform/linux/common/dji_linux_helpers.cpp.o: in function `LinuxSetup::LinuxSetup(int, char**, bool)':
(...)
make[2]: *** [CMakeFiles/djiosdk-telemetry-sample.dir/build.make:159: djiosdk-telemetry-sample] Error 1
make[1]: *** [CMakeFiles/Makefile2:76: CMakeFiles/djiosdk-telemetry-sample.dir/all] Error 2
make: *** [Makefile:84: all] Error 2

这是我的 CMakeList。我想我需要改变它。

cmake_minimum_required(VERSION 2.8)
project(djiosdk-telemetry-sample)

include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../core/inc)
include_directories(include /home/pi/Onboard-SDK/sample/platform/linux/common)
include_directories(include /home/pi/Onboard-SDK/sample/platform/linux/hal)
include_directories(include /home/pi/Onboard-SDK/sample/platform/linux/osal)
include_directories(include /usr/local/include)
include_directories(include /usr)
include_directories(include /home/pi/Onboard-SDK/)
include_directories(include /home/pi/Onboard-SDK/sample/core/inc)
include_directories(include /home/pi/Onboard-SDK/sample/core/src)


set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -pthread -g -O0")

FILE(GLOB SOURCE_FILES *.hpp *.cpp
        ${CMAKE_CURRENT_SOURCE_DIR}/../common/dji_linux_environment.cpp
        ${CMAKE_CURRENT_SOURCE_DIR}/../common/dji_linux_helpers.cpp
        ${CMAKE_CURRENT_SOURCE_DIR}/../hal/*.c
        ${CMAKE_CURRENT_SOURCE_DIR}/../osal/*.c
        )

if (OSDK_HOTPLUG)
    FILE(GLOB SOURCE_FILES ${SOURCE_FILES} ${CMAKE_CURRENT_SOURCE_DIR}/../hal/hotplug/*.c)
endif ()

add_executable(${PROJECT_NAME} ${SOURCE_FILES})

# target_link_libraries(${PROJECT_NAME} /usr/local/include)

标签: raspberry-pidji-sdkdebian-buster

解决方案


推荐阅读