Cmake 如何修复:/usr/bin/ld:找不到-ldjiosdk core

Cmake 如何修复:/usr/bin/ld:找不到-ldjiosdk core,cmake,linker-errors,raspbian,dji-sdk,Cmake,Linker Errors,Raspbian,Dji Sdk,我在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)

我在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)
我的问题是:

  • 如何链接djiosdk核心库
  • 如何在OSDK中创建自己的项目,以使其正确构建
  • 我将N3与RPi一起使用

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

    dpkg-query: package 'djiosdk-core' is not installed
    Use dpkg --contents (= dpkg-deb --contents) to list archive files contents.
    
    可能的原因:

  • 你根本没有libdjiosdk内核
  • 它超出了系统运行路径
  • 它有不同的名字
  • 尝试搜索它:

    $find-类型f-名称“*djiosdk core*”

    查找包名称:

    $apt缓存搜索djiosdk

    然后列出所有包的文件:

    $dpkg查询-L[包裹名称]

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

    错误:

    /usr/bin/ld: cannot find -ldjiosdk-core
    
    是一个链接器错误,表示链接器确实知道在哪里可以找到
    djiosdk核心
    库。如果此库不在典型的系统路径中,则链接器将不知道如何找到它。因此,必须在CMake命令中提供库的完整路径:

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