DJI Onboard SDK 3.2 如何创建CMakeLists.txt
How to create CMakeLists.txt on DJI OnboardSDK 3.2
我正在尝试将 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 ..
时,一切运行都没问题,但是当我运行[=18=时,问题就来了].我收到一条错误消息,指出无法找到 LinuxSerialDevice.h
。
我确定我的 CMakeLists.txt
文件中遗漏了什么,但我不知道是什么。
如有任何帮助,我们将不胜感激。
谢谢!
找到问题了!
我不得不补充:
add_subdirectory(${ONBOARDSDK_SOURCE}/osdk-core)
add_subdirectory(${ONBOARDSDK_SOURCE}/osdk-wrapper)
add_subdirectory(${ONBOARDSDK_SOURCE}/platform/linux)
在 include_directories
块下使其工作。
希望对大家有帮助!
我正在尝试将 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 ..
时,一切运行都没问题,但是当我运行[=18=时,问题就来了].我收到一条错误消息,指出无法找到 LinuxSerialDevice.h
。
我确定我的 CMakeLists.txt
文件中遗漏了什么,但我不知道是什么。
如有任何帮助,我们将不胜感激。
谢谢!
找到问题了!
我不得不补充:
add_subdirectory(${ONBOARDSDK_SOURCE}/osdk-core)
add_subdirectory(${ONBOARDSDK_SOURCE}/osdk-wrapper)
add_subdirectory(${ONBOARDSDK_SOURCE}/platform/linux)
在 include_directories
块下使其工作。
希望对大家有帮助!