【问题标题】:How to create CMakeLists.txt on DJI OnboardSDK 3.2如何在 DJI OnboardSDK 3.2 上创建 CMakeLists.txt
【发布时间】:2017-07-10 11:59:22
【问题描述】:

我正在尝试将 OnboardSDK 3.2 添加为我的项目的库。我知道有关于如何将它集成到文档中的指南,但它仅适用于 3.3 版

我的项目有这样的结构:

oes-test\
├── build\
├── inc\
|   └── main.h
├── lib\
|   └── Onboard-SDK\
├── src\
|   └── main.cpp
└── CMakeLists.txt

这是我的main.cpp 文件的一部分:

// System Headers
#include <iostream>
#include <string>
#include <cstring>
#include <unistd.h>

// DJI Linux Application Headers
#include "LinuxSerialDevice.h"
#include "LinuxThread.h"
#include "LinuxSetup.h"
#include "LinuxCleanup.h"
#include "ReadUserConfig.h"

...

这是我的CMakeLists.txt 文件:

cmake_minimum_required(VERSION 2.8)
project(oes-test)

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

if(NOT ONBOARDSDK_SOURCE)
    set(ONBOARDSDK_SOURCE "${CMAKE_CURRENT_SOURCE_DIR}/lib/Onboard-SDK")
endif()

include_directories(${ONBOARDSDK_SOURCE}/osdk-core/inc)
include_directories(${ONBOARDSDK_SOURCE}/osdk-wrapper/inc)
include_directories(${ONBOARDSDK_SOURCE}/platform/linux/inc)
include_directories(inc)

FILE(GLOB SOURCE_FILES inc/*.h src/*.cpp)
add_executable(${PROJECT_NAME} ${SOURCE_FILES})

target_link_libraries(${PROJECT_NAME} djiosdk-core djiosdk-platform djiosdk-wrapper)
install(TARGETS ${PROJECT_NAME} DESTINATION bin)

当我从build 目录运行cmake .. 时,一切运行正常,但是当我运行make 时出现问题。我收到一条错误消息,指出找不到 LinuxSerialDevice.h。 我确定我的 CMakeLists.txt 文件中缺少某些内容,但我不知道是什么。

对此的任何帮助将不胜感激。
谢谢!

【问题讨论】:

    标签: cmake dji-sdk


    【解决方案1】:

    找到问题了!

    我必须补充:

    add_subdirectory(${ONBOARDSDK_SOURCE}/osdk-core)
    add_subdirectory(${ONBOARDSDK_SOURCE}/osdk-wrapper)
    add_subdirectory(${ONBOARDSDK_SOURCE}/platform/linux)
    

    include_directories 块下使其工作。
    希望它可以帮助某人!

    【讨论】:

      猜你喜欢
      • 2018-07-19
      • 2021-05-07
      • 2012-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-30
      相关资源
      最近更新 更多