首页 > 解决方案 > 如何修复:/usr/bin/ld: 找不到 -ldjiosdk-core

问题描述

我在我的 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.

标签: cmakelinker-errorsraspbiandji-sdk

解决方案


错误:

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

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

add_executable(${PROJECT_NAME} ${SOURCE_FILES})
target_link_libraries(${PROJECT_NAME} PUBLIC /your/path/to/libs/libdjiosdk-core.so)

推荐阅读