プロジェクトのライブラリとして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)
ディレクトリcmake ..
から実行すると、すべて正常に実行されますが、実行すると問題が発生します。見つからないというエラーが表示されます。ファイルに何かが欠けていると確信していますが、何がわかりません。build
make
LinuxSerialDevice.h
CMakeLists.txt
これに関する任意のヘルプは非常に高く評価されます。
ありがとう!