如何解决:/ usr / bin / ld:找不到-ldjiosdk-core

问题描述 投票:0回答:2

我在Raspberry Pi上下载并安装了DJI-OSDK,并能够在DJI Assistant仿真中运行样本。但是,当我尝试使用CMake创建和构建自己的项目时,遇到了问题:

/usr/bin/ld: cannot find -ldjiosdk-core

CMake文件包含以下行:

add_executable(${PROJECT_NAME} ${SOURCE_FILES})
target_link_libraries(${PROJECT_NAME} djiosdk-core)

我的问题是:

  1. 如何链接djiosdk-core库?
  2. 如何在OSDK中创建自己的项目,以便正确构建?

我正在使用带有RPi的N3。

我还运行过:$ dpkg -L djiosdk-core,输出:

dpkg-query: package 'djiosdk-core' is not installed
Use dpkg --contents (= dpkg-deb --contents) to list archive files contents.
cmake linker-errors raspbian dji-sdk
2个回答
0
投票

可能的原因:

  1. 您根本没有libdjiosdk内核
  2. 超出系统运行路径
  3. 名称不同

尝试搜索:

$ find . -type f -name "*djiosdk-core*"

查找包名称:

$ apt-cache search djiosdk

然后列出所有软件包的文件:

$ dpkg-query -L [package_name]

如果没有此开发人员库,则从源代码安装此SDK(请参见其Wiki)


0
投票

错误:

/usr/bin/ld: cannot find -ldjiosdk-core

是链接器错误,这表明链接器确实知道在何处可以找到djiosdk-core库。如果此库在典型的系统路径中是not,则链接程序将不知道如何找到它。因此,您必须在target_link_libraries() CMake命令中提供库的full路径:

target_link_libraries()
© www.soinside.com 2019 - 2024. All rights reserved.